Skip to main content
added 363 characters in body
Source Link
Kuba
  • 137.7k
  • 13
  • 289
  • 751

TLDR I am using the last one (MPM)ResourceFunction["GitHubInstall"][ author_, name_ ]

1.1. install.m script

1.1. install.m script

Examples:

Pros:

  • flexible installation routine

    flexible installation routine
  • Cons:

Cons:

  • ugly url to type by the user: https://raw.githubusercontent.com/`username`/`pacletName`/master/install.m, sure it can be copied but the fewer steps the better.

    ugly url to type by the user: https://raw.githubusercontent.com/`username`/`pacletName`/master/install.m, sure it can be copied but the fewer steps the better.

1.2 ResourceFunction installation script

1.2 ResourceFunction installation script

Examples:

Pros:

  • Cons:

    • The resource function needs to be verified by WRI before it is available
    flexible installation routine
  • simple call e.g. ResourceFunction["MyPacletInstall"]

2. GitHub hosted PacletSite

Cons:

  • The resource function needs to be verified by WRI before it is available

2. GitHub hosted PacletSite

You just build .pacletspaclet to your repository and update PacletSite.info.

Example:

Pros:

  • Pros:

    • once paclet site is added user can quickly check for updates etc.
    • all WRI built-in functions based deploy-release-install
    once paclet site is added user can quickly check for updates etc.
  • Cons:

    • Adds a lot of weight to your repository since binary .paclets need to be kept there. For this reason probably not the best for large or frequently updated projects.
    all WRI built-in functions based deploy-release-install

3. A paclet installation manager

Cons:

  • Adds a lot of weight to your repository since binary .paclets need to be kept there. For this reason probably not the best for large or frequently updated projects.

3.1. A paclet installation manager

Examples

  • ExamplesMPM`

    • MPM`

      I created a simple installation manager MPM`: https://github.com/kubaPod/MPM

      Once you install it (using install.m :)) you can just call MPMInstall["szhorvat", "MaTeX"]. Check more examples in the GitHub wiki or this answer

          Import["https://raw.githubusercontent.com/kubapod/mpm/master/install.m"] (*only once*)
          Needs @ "MPM`"
          MPMInstall["kubapod", "devtools"]
      
    • PDInstallPaclet

      Alternatively take a look at b3m2a1's PDInstallPaclet

    I created a simple installation manager MPM`: https://github.com/kubaPod/MPM

  •  

    ProsOnce you install it (using install.m :)) you can just call MPMInstall["szhorvat", "MaTeX"]. Check more examples in the GitHub wiki or this answer

    • easy to use
    • full of utilities
        Import["https://raw.githubusercontent.com/kubapod/mpm/master/install.m"] (*only once*)
        Needs @ "MPM`"
        MPMInstall["kubapod", "devtools"]
    
  • Cons:PDInstallPaclet

    • you need to trust the source of the manager like MPM (otoh with plain text .m it is easy to inspect)
    • unless standards are expanded it only does paclet install and any fancy setup needs to be run separately

    Alternatively take a look at b3m2a1's PDInstallPaclet

Pros:

  • easy to use
  • full of utilities

Cons:

  • you need to trust the source of the manager like MPM (otoh with plain text .m it is easy to inspect)
  • unless standards are expanded it only does paclet install and any fancy setup needs to be run separately

3.2. ResourceFunction["GitHubInstall"]

I pushed a reduced version of the MPMInstall to the function repository. It is straightforward to use:

ResourceFunction["GitHubInstall"]["szhorvat", "matex"]

see ResourceFunction["GitHubInstall", "DocumentationNotebook"] for more information.

Cons and Pros the same as with 3.1 + it is easier to use.

TLDR I am using the last one (MPM)

1.1. install.m script

1.2 ResourceFunction installation script

2. GitHub hosted PacletSite

You just build .paclets to your repository and update PacletSite.info.

  • Example:

  • Pros:

    • once paclet site is added user can quickly check for updates etc.
    • all WRI built-in functions based deploy-release-install
  • Cons:

    • Adds a lot of weight to your repository since binary .paclets need to be kept there. For this reason probably not the best for large or frequently updated projects.

3. A paclet installation manager

  • Examples

    • MPM`

      I created a simple installation manager MPM`: https://github.com/kubaPod/MPM

      Once you install it (using install.m :)) you can just call MPMInstall["szhorvat", "MaTeX"]. Check more examples in the GitHub wiki or this answer

          Import["https://raw.githubusercontent.com/kubapod/mpm/master/install.m"] (*only once*)
          Needs @ "MPM`"
          MPMInstall["kubapod", "devtools"]
      
    • PDInstallPaclet

      Alternatively take a look at b3m2a1's PDInstallPaclet

  •  

    Pros:

    • easy to use
    • full of utilities
  • Cons:

    • you need to trust the source of the manager like MPM (otoh with plain text .m it is easy to inspect)
    • unless standards are expanded it only does paclet install and any fancy setup needs to be run separately

TLDR I am using ResourceFunction["GitHubInstall"][ author_, name_ ]

1.1. install.m script

Examples:

Pros:

  • flexible installation routine

Cons:

  • ugly url to type by the user: https://raw.githubusercontent.com/`username`/`pacletName`/master/install.m, sure it can be copied but the fewer steps the better.

1.2 ResourceFunction installation script

Examples:

Pros:

  • flexible installation routine
  • simple call e.g. ResourceFunction["MyPacletInstall"]

Cons:

  • The resource function needs to be verified by WRI before it is available

2. GitHub hosted PacletSite

You just build .paclet to your repository and update PacletSite.info.

Example:

Pros:

  • once paclet site is added user can quickly check for updates etc.
  • all WRI built-in functions based deploy-release-install

Cons:

  • Adds a lot of weight to your repository since binary .paclets need to be kept there. For this reason probably not the best for large or frequently updated projects.

3.1. A paclet installation manager

Examples

  • MPM`

    I created a simple installation manager MPM`: https://github.com/kubaPod/MPM

    Once you install it (using install.m :)) you can just call MPMInstall["szhorvat", "MaTeX"]. Check more examples in the GitHub wiki or this answer

        Import["https://raw.githubusercontent.com/kubapod/mpm/master/install.m"] (*only once*)
        Needs @ "MPM`"
        MPMInstall["kubapod", "devtools"]
    
  • PDInstallPaclet

    Alternatively take a look at b3m2a1's PDInstallPaclet

Pros:

  • easy to use
  • full of utilities

Cons:

  • you need to trust the source of the manager like MPM (otoh with plain text .m it is easy to inspect)
  • unless standards are expanded it only does paclet install and any fancy setup needs to be run separately

3.2. ResourceFunction["GitHubInstall"]

I pushed a reduced version of the MPMInstall to the function repository. It is straightforward to use:

ResourceFunction["GitHubInstall"]["szhorvat", "matex"]

see ResourceFunction["GitHubInstall", "DocumentationNotebook"] for more information.

Cons and Pros the same as with 3.1 + it is easier to use.

added 106 characters in body
Source Link
Kuba
  • 137.7k
  • 13
  • 289
  • 751
added 177 characters in body
Source Link
Kuba
  • 137.7k
  • 13
  • 289
  • 751
  • Examples

    • MPM`

      I created a simple installation manager MPM`: https://github.com/kubaPod/MPM

      Once you install it (using install.m :)) you can just call MPMInstall["szhorvat", "MaTeX"]. Check more examples in the GitHub wiki or this answer

          Import["https://raw.githubusercontent.com/kubapod/mpm/master/install.m"] (*only once*)
          Needs @ "MPM`"
          MPMInstall["kubapod", "devtools"]
      
    • PDInstallPaclet

      Alternatively take a look at b3m2a1's PDInstallPaclet

  • Pros:

    • easy to use
    • full of utilities
  • Cons:

    • you need to trust the source of the manager like MPM (otoh with plain text .m it is easy to inspect)
    • unless standards are expanded it only does paclet install and any fancy setup needs to be run separately
  • Examples

  • Pros:

    • easy to use
    • full of utilities
  • Cons:

    • you need to trust the source of the manager like MPM (otoh with plain text .m it is easy to inspect)
    • unless standards are expanded it only does paclet install and any fancy setup needs to be run separately
  • Examples

    • MPM`

      I created a simple installation manager MPM`: https://github.com/kubaPod/MPM

      Once you install it (using install.m :)) you can just call MPMInstall["szhorvat", "MaTeX"]. Check more examples in the GitHub wiki or this answer

          Import["https://raw.githubusercontent.com/kubapod/mpm/master/install.m"] (*only once*)
          Needs @ "MPM`"
          MPMInstall["kubapod", "devtools"]
      
    • PDInstallPaclet

      Alternatively take a look at b3m2a1's PDInstallPaclet

  • Pros:

    • easy to use
    • full of utilities
  • Cons:

    • you need to trust the source of the manager like MPM (otoh with plain text .m it is easy to inspect)
    • unless standards are expanded it only does paclet install and any fancy setup needs to be run separately
added 26 characters in body
Source Link
Kuba
  • 137.7k
  • 13
  • 289
  • 751
Loading
added 479 characters in body
Source Link
Kuba
  • 137.7k
  • 13
  • 289
  • 751
Loading
Source Link
Kuba
  • 137.7k
  • 13
  • 289
  • 751
Loading