William Stein <wst...@gmail.com> writes: > On Tue, Jul 3, 2012 at 11:33 AM, John H Palmieri <jhpalmier...@gmail.com> > wrote: >> >> >> On Tuesday, July 3, 2012 10:55:21 AM UTC-7, David Roe wrote: >>> >>> Hi everyone, >>> The new doctesting code (#12415) needs a change to the way Sage handles >>> temporary files, which is described at #13147. We can either >>> 1. change every use of temporary files within the sage library, or >>> 2. depend on the speaklater project and use a lazy string. >>> >>> Everyone working on the ticket thinks option 2 is the way to go. >>> Speaklater consists of a single python file and is already used in the new >>> flask notebook (#11080) by including the python file. Rather than introduce >>> a strange dependency of sage on the notebook or to separately include the >>> python file in sage, I would like to propose including speaklater as a >>> separate spkg (which sagenb and sage would both depend on). The spkg is >>> 6.6K. >>> >>> So vote: >>> >>> >>> [ ] Include speaklater.py in sage without any doctests. >> >> >> Does this choice have to be "include speaklater.py in both sage and sagenb", >> since sagenb uses it, and sagenb should function without the Sage library? >> If that's right, then I'd prefer to avoid the code duplication, so I prefer >> either >> >> [X] Make speaklater a standard spkg > > Please consider that every spkg has the potential of substantial > maintenance associated with it, given that the spkg system wasn't > designed to have thousands of standard spkg's at once. If you look > at the entire code of speaklater.py, you'll see it is *shorter* than > just the build/config code that we've written for some of the spkg's.
IMO it's usually better to depend on someone else's code than to absorb it, because then you can more easily pick up bugfixes later, and also it makes it clearer that we are benefiting from their work. To choose absorbing code instead of depending on it simply because it's small and maintaining a package seems like a non-zero amount of work seems to me like the wrong thing to do. In any case, I've nominated myself as the maintainer for this SPKG. I don't anticipate it requiring substantial maintenance, since it's so small, and is furthermore pure Python and has no dependencies, and so should be pretty cross platform. The SPKG system is broken, but let's not create more messes that we'll need to sort out later when we get rid of SPKGs. If we switch to Prefix, for example, this all goes out the window - just copy an ebuild from the Gentoo project and add "speaklater" to the dependencies of Sage. To those worrying about code duplication: note that adding speaklater to the Sage library is code duplication, since that code would now exist in Sage and on http://github.com/mitsuhiko/speaklater , two unrelated projects. -Keshav ---- Join us in #sagemath on irc.freenode.net ! -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org