The PacletManager
is nice, but it's not really a low-effort system to work with.
Installing a package can be made pretty easy, but only if the location from which it is to be installed makes it so.
For instance, I set up my paclet servers so that I can do things like this:
PacletInstall[pacletName,
"Site"->pacletServer
]
but it's not really feasible to expect everyone to do that. It's not that hard, but it requires enough work that most people just won't.
If I'm working with a group of people and we want to share our packages with eachother seamlessly, making everyone make and maintain a paclet server won't cut it.
I know it shouldn't really be our responsibility to implement an easy-to-use package index/manager but I'm also a little tired of waiting for WRI to make it exist.
I've identified 5 criteria that I think would make for a decent foundation for a package ecosystem:
- Installing a package is a one-line process
- Figuring out what packages are available for download is a one-line process
- The package index can be interacted with as a GUI
- Making one's own package available for download can either in one line or via a simple form
- No knowledge of paclets or the paclet manager is necessary to use the system
How could we implement such a system? (should we even implement such a system?)
Alternatively, does anyone else have a better low-(user)effort way to seamlessly share packages as a group?
Note that this is aimed at larger-scale packages. Small snippets can be shared without much trouble.