On Tue, Apr 12, 2016 at 9:58 PM, William Stein <wst...@gmail.com> wrote: > On Tue, Apr 12, 2016 at 12:50 PM, kcrisman <kcris...@gmail.com> wrote: >> You are right, as I apparently >> didn't make clear, that it would be even better to have people more easily >> able to have separate packages that are quite narrow - and I think that a >> testing framework like R has would probably suffice for this (as long as >> breaking such packages was a blocker for release!). > > It may or may not be, depending on the package and why it broke. > That's up to us to decide.
Sorry to keep bringing up Astropy here--it by no means does everything perfectly--but it is a good analog to Sage in many ways due to general similarities between scientific software communities. Anyways one thing that Astropy provides for Affiliated Packages is a "package template" [1] that allows all Affiliated Packages to be built and packaged more or less the same way. They aren't *required* to use the package template, but the vast majority do because it's convenient--it sets them up with the same testing and documentation tools that the Astropy core package uses it. And even more importantly (and the reason I bring this up) is that it includes templates for configuring their package to be built and tested on continuous integration platforms like Travis [2] and AppVeyor [3]. The default templates include Astropy as a build/test dependency, and include separate build job configurations for using both the latest stable release as well as the latest version from git. This means that affiliated package authors typically find out quickly if a change in Astropy breaks their code too. This doesn't happen that often due to the slow deprecation process, but it does happen (probably most commonly if some import changes). We can then work with the maintainers of the individual affiliated packages to resolve the issue--whether it's putting the right astropy-version-specific code in their package, or backing out changes or providing better backward-compatibility in Astropy. Unit testing and continuous integration really make this a mostly painless process, and by providing package authors with the tools to do these things easily we promote best practices. Best, Erik [1] https://github.com/astropy/package-template [2] https://travis-ci.org/ [3] https://www.appveyor.com/ -- 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 post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.