[SciPy-Dev] proposal to drop Python 3.6 and NumPy 1.14 / 1.15
Matti Picus
matti.picus at gmail.com
Sun Aug 16 11:22:01 EDT 2020
On 8/16/20 4:23 PM, Bennet Fauber wrote:
> This post is by way of trying to articulate some concerns from the end
> user side of things.
>
> It looks like NumPy 19.1 supports Python 3.6.
>
>> This release supports Python 3.6-3.8. Cython >= 0.29.21 needs to be used when building
>> with Python 3.9 for testing purposes.
> https://numpy.org/devdocs/release/1.19.1-notes.html
>
> The section of the release notes for NumPy 1.20.0 does not contain the
> section at the top saying which versions of Python are supported.
> (https://numpy.org/devdocs/release/1.20.0-notes.html)
>
> For Python itself, I find on their releases, the 3.6.12 schedule was
>
> 3.6.12 final: 2020-08-14 (expected)
> https://www.python.org/dev/peps/pep-0494/#id9
>
> but does not seem to have made it, and Python 3.6.11 was released June
> 27, 2020. The Python plans for 3.6.13 and beyond are Security fixes
> only, as needed, until 2021-12. That seems, from my user perspective,
> a better date for deprecation and not too far from the just proposed
> one.
>
> Acknowledging the additional burden of 'supporting' older versions of
> Python, still it would seem that matching NumPy is not a bad thing.
>
> From a strictly consumer perspective, where much of the work is
> getting all of the non-NumPy and non-SciPy functionality to work and
> be stable, upgrading Python can be very disruptive. Time spent
> getting the 'glue' around analytics to work is time we cannot spend on
> science. There are large projects that do keep up, but they tend also
> to be funded well. The many small labs on my campus do not have
> funding for software development, are unlikely to ever get any, so any
> work required to fix software because of updates comes from their
> budget for science and from their scientists who are not as proficient
> and therefore not as efficient at adapting to a newer version of
> Python and all the reinstallation of libraries that attends it.
>
Is there a forum where we could explore the larger question around best
practices in helping projects and teams keep their software up-to-date
through rolling updates, test suites, and documentation? A few things
come to mind:
- developing a culture of version control and tests when creating
software, even if it is grad students racing towards their degrees
- freezing environments in images, which is a whole discipline unto
itself, and needed for reproducible science
- offloading the task of maintaining computing environments using things
like Jupyter Hub or other web-based services
FWIW, python is changing their release cadence from once every 18 months
to once every 12 months[1] so it is likely this problem will get harder.
Matti
[1] https://www.python.org/dev/peps/pep-0602/#annual-release-cadence
More information about the SciPy-Dev
mailing list