Ask Your Question

Should I / how should I make an optional sage package?

asked 2017-08-22 15:49:01 -0500

paragon gravatar image

I've written some code in sage that implements the strata algebra of the moduli spaces of curves as a sage ring. I hope it will be useful to others. I think that a good way to share it would be to make it an optional, (or perhaps experimental?) sage package.

Is this a good thing to do?

If so, what are the steps?

My code is all in .sage files, but I could easily turn it into .py files if that is better.

edit retag flag offensive close merge delete


This is a timely question as more and more people are starting to think of whether to have an optional package versus a pip installable versus just code lying around - it really depends upon use case; all three would have to have some maintenance involved.

kcrisman gravatar imagekcrisman ( 2017-08-23 05:38:02 -0500 )edit

3 answers

Sort by » oldest newest most voted

answered 2017-08-23 02:24:59 -0500

eric_g gravatar image

Thanks for your willingness to share your code. Maybe a good place to start is to read Sage developer's guide, especially its section Packaging Third-Party Code. You may also have a look at this discussion about various options for sharing Sage codes.

edit flag offensive delete link more

answered 2017-08-23 03:20:37 -0500

mforets gravatar image

a recent talk by Marc Masdeu about distributing Sage/Python code is worth mentioning: Sage Days 87, p-adics, Burlington, Vermont, July 2017

edit flag offensive delete link more


This looks like it might be a good way to go if I can figure it out.

paragon gravatar imageparagon ( 2017-08-24 01:45:53 -0500 )edit

don't hesitate to report problems / feedback ! the sage_sample template that i've used successfully (docs, linked with Travis CI, etc) is mkoeppe's fork. see also this recent repository: sage_package_template.

mforets gravatar imagemforets ( 2017-08-24 02:40:27 -0500 )edit

answered 2017-08-23 02:26:51 -0500

FrédéricC gravatar image

Another way is to make a pip module, for example


I do not know if there is documentation somwhere on how to do that.

edit flag offensive delete link more


Hmmm... sounds a bit hyperspecialized for use in Python without sage (or at least without the sage library...).

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 2017-08-23 08:28:30 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2017-08-22 15:49:01 -0500

Seen: 62 times

Last updated: Aug 23