Replies: 1 comment
-
Moved to #780 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Background
I recently came across NEP 29.
NEP 29
This NEP was meant to set the version support guidelines for NumPy, SciPy, matplotlib, and the majority of the scientific python ecosystem in 2019. The policy is well summarized by their policy of:
SPEC 0
This is a follow-up to NEP 29, and is from the Scientific Python Ecosystem. They are ever so slightly more restrictive:
Bonus points: Spec 0 comes with a badge!
Status Quo
Currently MontePy's support policy is to support (namely test against) all minor versions of Python that are receiving security updates. This means as of may 2025 that Python 3.9 - 3.13 are supported. The last version of NumPy to support Py 3.9 was numpy 1.25, which according to NEP 29 should lose support next month.
While there is currently no support crisis right now, supporting Python 3.9 is rather limiting (see #588).
What this would mean to adopt NEP 29.
What this would mean to adopt Spec 0.
Language from NEP 29 is easy to tweak for SPEC 0
SPEC 0 provides a drop schedule that currently extends through 2027.
Current support window covered by this policy would cover:
Elephant in the room: SLY
Sly was last released on PyPI in 2022, and is therefore outside of the 24 month core package window.
We have known for awhile this is a bit of a dependency liability (#432). Though it is not creating new features, etc. that we have to be worried about supporting on the other hand.
For the time being I do not expect python 3 to break backwards compatibility in a way that would break sly.
If needed: we can legally vendor SLY and create a patched version of SLY that is supported by the latest versions of python.
Though long term #432 will need to be implemented to have better long term support.
Note
GitHub does not support ranked choice voting. However they are listed in a way that they are a superset of all options below them. So please vote for the most restrictive version you support.
1 vote ·
Beta Was this translation helpful? Give feedback.
All reactions