Skip to main content
added 160 characters in body
Source Link
b3m2a1
  • 47.1k
  • 3
  • 95
  • 244

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:

  1. Installing a package is a one-line process
  2. Figuring out what packages are available for download is a one-line process
  3. The package index can be interacted with as a GUI
  4. Making one's own package available for download can either in one line or via a simple form
  5. 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.

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:

  1. Installing a package is a one-line process
  2. Figuring out what packages are available for download is a one-line process
  3. The package index can be interacted with as a GUI
  4. Making one's own package available for download can either in one line or via a simple form
  5. 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?

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:

  1. Installing a package is a one-line process
  2. Figuring out what packages are available for download is a one-line process
  3. The package index can be interacted with as a GUI
  4. Making one's own package available for download can either in one line or via a simple form
  5. 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.

Tweeted twitter.com/StackMma/status/932918573592465408
Source Link
b3m2a1
  • 47.1k
  • 3
  • 95
  • 244

Building a convenient package distribution system

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:

  1. Installing a package is a one-line process
  2. Figuring out what packages are available for download is a one-line process
  3. The package index can be interacted with as a GUI
  4. Making one's own package available for download can either in one line or via a simple form
  5. 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?