> > > When writing new modules containing thousands of lines of code, I think it > is important to know that there are more than one way to share this code to > the SageMath Community: > > 1) Post a patch bomb on trac, hoping that people will review it and hoping > the code follows the Sage conventions and hoping it works for oneself but > also different kind of usages by others and hoping the code is mature > enough (the interface must be stable afterwards which puts lot of pressure > on the reviewers to make sure everything is okay in the patch bomb) > > 2) Create a pip optional SageMath package containing the code allowing > anyone on earth to easily install it by doing `sage -pip install > yourpackage` and allowing yourself to update the package as you wish > including changes in the API. > > Personnally, in the last years, I like the idea of first using 2), and > then, when I am confident on the API for my own usage but also for more > diverse usage, I go to 1). But maybe going to 1) is not the goal anymore. > Indeed, note that Sage development directions is now to split its core into > independent modules. >
I am opposed to 2. We have no mechanism for easy user access and testing such code. It is too easy for it to break when it relies on code already in Sage and is meant to be integrated in. Modularization is good, but fragmentation is not. It is also difficult to get diverse usage without exposure and integration. I am going to be reviewing (albeit slowly) the ticket; although I would like to have a few smaller tickets if it can be done reasonably. > So, I am now wandering myself if the goal is really to get patch bomb into > sage anymore? By definition of a patch bomb, nothing depends on the patch > bomb. > That is not true: categories, coercion rewrite, new-style parents, Python3 transition, to name a few. All of these included some form of a patch bomb with efforts being made to make it more incremental to lessen the work to actually get it in. > So it seems to be easy to modularize... I would be curious to get the > opinion of Matthias Koeppe on that. > > Best, Travis -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/286ff7eb-bfb1-4e21-ac30-ac3c02410d13o%40googlegroups.com.