-
Notifications
You must be signed in to change notification settings - Fork 530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Python and Numpy version support and release schedule #3036
Comments
@effigies - thank you for putting this together. looks like an excellent plan. |
Judging by #3046, would it make sense to drop Python 3.5 soon too?
|
I would suggest having a principled and predictable deprecation schedule, whatever it may be. The initial suggestion follows nibabel's schedule of NEP 29 + 1 year, but nipype is not bound to be as conservative as that. If you want to follow NEP 29 with no lag, then we should drop numpy 1.13 and Python 3.5 as of 1.3.0, and we'll drop Python 3.6 next summer. I don't have a strong opinion about what route nipype follows, but it does feel early to me to drop 3.5, though that may be just because most projects are only just now dropping 3.4. It also seems odd to me to drop 3.5 before 2.7. Would a useful compromise be to keep on with the current plan for 1.3.x and then adopt NEP 29 for nipype 1.4+? Whatever our schedule, I think #3046 is a good warning against monkey-patching external modules, and that we should be careful about using new idioms that require shims or monkey-patches to work throughout the support window. |
@oesteban @satra Do you think we should push a mid-month 1.2.4 that fixes these late issues (#3046, #3049, #3050, #3047/#3061), or are we going to go ahead with 1.3.0? If 1.3.0, I wouldn't mind removing 3.4 from the test suite just to keep things moving a little faster, but I've been holding off just in case. |
i think this is not just a minor adjustment, so i would be fine with 1.3.0 and removing 3.4, and calling 1.2.3 a bad version |
Any opposition to a 1.3.0-rc1 this week? These issues are causing a lot of pain in CI and with user support. |
nope. |
A couple notes on release candidates:
>>> from packaging.version import Version
>>> Version('1.3.0-dev') < Version('1.3.0-rc1') < Version('1.3.0-rc1.post-dev') < Version('1.3.0-rc2') < Version('1.3.0')
True |
Summary
This issue exists to consolidate discussion on support schedules for dependencies, in particular Python and Numpy, as these form the basis of the scientific Python ecosystem and are generally the most painful to upgrade. It additionally provides the canonical plan of release dates and version support matrix.
As release dates and support schedules get decided and modified, this schedule should be updated.
Schedule
master
; import workflows from niflowsSupport windows
Numpy has published NEP 29, a recommended deprecation policy for scientific software. While Nipype does not make heavy use of Numpy, we do interact with a lot of software that does, and so it seems wise to pay attention to this plan.
In nibabel (nipy/nibabel#803) it appears we're likely to follow a plan of NEP + 1 year in our schedule for dropping support for Python and Numpy, which is the approximate difference between our ad hoc support plan and Numpy's (relatively) aggressive plan. I've followed that schedule in the numpy releases above.
Related threads
The text was updated successfully, but these errors were encountered: