paclets / PacletServer

A paclet server for Mathematica
https://paclets.github.io/PacletServer/
29 stars 8 forks source link

Investigate integration with PackageData.net & MathSource #35

Open Masterxilo opened 5 years ago

Masterxilo commented 5 years ago

We finally need one-line installation of packages for Mathematica from some standard online repository/repositories.

People coming from pip/npm/maven expect that knowing the name of a package gives them access to it.

The building blocks are there but it seems we are missing out on putting them together.

See https://mathematica.stackexchange.com/questions/8128/mathematica-package-manager

b3m2a1 commented 5 years ago

@Masterxilo a different package of mine, BTools, can do one-line installation for stuff on GitHub and on MathSource, but I'd need to get people's permission to put their packages on the paclet server here.

b3m2a1 commented 5 years ago

@Masterxilo looks like there might not be many valid packages on PackageData.net to integrate with. I could only find like 21 or so that are real paclets as opposed to a non-standard format that I'm not really trying to support.

Masterxilo commented 5 years ago

We may need to make people aware of the need to do some tuning to their packages to follow a certain standard.

Reaching a critical mass of nice and useful packages is important for something like this to take off, so I would not give up on them.

b3m2a1 commented 5 years ago

@Masterxilo do you have a suggestion for how I reach out to people and suggest that, though? I have to imagine many don't really want to rearrange their code at all and are fine with whatever installation instructions exist right now. I could offer to help do it, I suppose, so they don't have to figure it out.

Masterxilo commented 5 years ago

If they have github, post an issue. Find names and email of owners. Make the process as easy as possible, for example by defining an interactive script or web service to do the conversion. Even do it yourself for some popular packages.

Be sure to post two-line answers to popular mathematica stackoverflow questions consisting of a package install using your service and then a single method call - for example by putting the accepted solution in an easy to use package containing a single function. People love straightforward solutions without code they need to copy and maintain. I certainly do.

There are many packages like that on npm. In linux distros too, the answer is often to install (in one line from a package) and run an existing solution.

Also, be sure to make it possible to install directly from git like go and npm do. In the best case, people just have to add a standardized metadata file to their repo.

I am extremely excited about this project - Mathematica cannot compete without outstanding package management.

b3m2a1 commented 5 years ago

I'll see what I can do. The main thing people need to do is just follow standard Mathematica development practice, but this is ill-documented. I'll do the GitHub ones first, then see if I can hunt down some emails from what I culled off of PackageData.net