TLDR I am using the last one (MPM)ResourceFunction["GitHubInstall"][ author_, name_ ]
1.1. install.m script
1.1. install.m script
Examples:
Examples:
Pros:
Pros:
flexible installation routine
flexible installation routineCons:
Cons:
ugly url to type by the user:
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.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:
Examples:
https://github.com/szhorvat/MaTeX#installationPros:
- flexible installation routine
- simple call e.g.
ResourceFunction["MyPacletInstall"]
Pros:
Cons:
- The resource function needs to be verified by WRI before it is available
- 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
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
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 answerImport["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.