Writing portable Sage module

I've been working on a bit of code that is of interest to a bunch of people but far too specific to even be considered for inclusion in Sage. Is it possible to package my code as an spkg, put the binary on a server somewhere, and then have interested parties install it by typing ./sage -t url-to-package? Or should I just stick to distributing my .sage files as tarball?

Sorry if this is already in the developer manual! However, when I checked, most of the instructions dealt with preparing an spkg and submitting it to the trac server, which is not what I want to do.

Comments

I agree that this would be a good idea. It doesn't seem as if the optional packages are reviewed, so that's a good point. I unpacked some of the packages, and it looks like something I could put together.

I've published a small library of code that people can easily use just by loading it. I tried to make the library so that it can also be downloaded into a directory and imported as a normal python module. See https://github.com/jasongrout/minimum_rank for my code. To load the code into a Sage worksheet or session, I just include

in the top cell (note that this loads the files straight from the github page). This will automatically compile the Cython files as well. This can be done, but the entire directory could also be downloaded and used by just importing the module into the namespace. A third way I distribute this library is by attaching the files to a Sage worksheet, and then loading the files using the DATA path instead of the github path above.

My purpose in doing this is that many of the people in my target audience will not have the ability to install spkgs (for example, on sagenb.org). This approach allows them to use the library by just including a few lines at the top of their worksheet.