Aim for SPEC0 adherence over NEP29 #4466
Replies: 5 comments 3 replies
-
If upstream is moving then we should move too is my 2p. |
Beta Was this translation helpful? Give feedback.
-
I generally agree with @hmacdope that we should follow along with the broader community — maintaining compatibility beyond the community time frame is not a hill I want to die on. If anyone really needs the extended compatibility then they should ask for a support contract with MDAnalysis of some kind. Academic research groups might either have to factor software support into their grant applications or provide "in kind" support by encouraging students to contribute to open source software. So in summary, I am ok with formally adopting SPEC0. @MDAnalysis/coredevs are there enough "yes" voices here that we can just adopt it or do we need to discuss at a business meeting? Or is everybody against it? It would be good to resolve this question and if we can do this asynchronously then that saves everybody time. You can just leave a 👍 or 👎 on the original post. |
Beta Was this translation helpful? Give feedback.
-
Happy to move from NEP29 to SPEC0 |
Beta Was this translation helpful? Give feedback.
-
So we have 3 x 👍 in favor and no more votes rolling in so this means we will aim for SPEC0 adherence over NEP29. |
Beta Was this translation helpful? Give feedback.
-
I am closing the discussion, now that we have #4536 |
Beta Was this translation helpful? Give feedback.
-
Background
As outlined here: numpy/numpy#24932 (comment) the NEP29 enhancement proposal has been superseded by SPEC0.
There is very little difference between the two, except that SPEC0 has a shorter support window (3 years for Python, 2 years for core packages) than NEP29 (42 months for Python, and 2 years for NumPy). SPEC0 also defines support windows for a wider range of core packages (e.g. scipy, matplotlib, etc..).
How would this affect MDAnalysis?
In practice this would have very little impact. The difference between NEP29 and SPEC0 is small enough that we would be unlikely to see anything given our release frequency.
The main thing would be that we would be basing decisions to drop support for Python & other upstream dependency versions on the SPEC0 schedule rather than the NEP29 one. It would also mean that the day I finally get to write this blog post it would be about SPEC0, not NEP29.
Does this mean we have to strictly adhere to SPEC0?
The idea here is that SPEC0 defines the "minimum range of versions which should be supported", rather than "the only things that should be supported".
That means that we can support a wider range of dependency versions if we wish to. This would be up to the community to help define.
What if we don't adopt SPEC0
We could stick to NEP29 or seek alternative schemes to define what range of core dependency versions we support.
Beta Was this translation helpful? Give feedback.
All reactions