On Sun, 14 Apr 2024 at 14:15, Anton Akhmerov <anton.akhme...@gmail.com> wrote: > > > SymPy does not really support old versions with maintenance releases > > so it does not really have a "support cycle" in the sense that SPEC 0 > > seems to describe. There can be a bugfix release shortly after a > > feature release to fix some obvious regressions but that is basically > > it. > > > > This fact alone would be worth notating in that document. It's not > always obvious to what degree different packages support older > versions. > > > I have reread the text of SPEC 0, and I believe it means "support cycle" > differently from what seems to be Oscar's interpretation. Adopting SPEC 0 > does not mean "SymPy developers provide support for vX.Y until AAAA-BB-CC". > Rather the meaning of SPEC 0 is "SymPy developers recommend that packages > that depend on SymPy should aim to support vX.Y until AAAA-BB-CC". In other > words SPEC 0 does not represent additional commitments, but rather it > describes how rapidly the code evolves. I believe it is useful for > coordinating dependency versions of other packages in the ecosystem. > > Does this remark clarify the usefulness of adding SymPy to SPEC 0?
Yes it does. After reading this numpy discussion thread I think I have a better idea why this matters: https://mail.python.org/archives/list/numpy-discuss...@python.org/thread/AHTATJKGUEOILBNUI5IGGZPXJ5FXIRAU/ Basically the problem is that if SymPy puts out new releases for say Python 3.8 then that potentially means that other libraries that depend on SymPy have to put out updates for Python 3.8 as well. This means that even if it is easy for SymPy to support a wide range of Python versions it might still cause problems for downstream dependencies. Those downstream dependencies are sort of obliged to support the same versions as SymPy at least to the extent of being able to put out an update that caps the SymPy version or something. Currently SymPy 1.13 is about to ship which is tested with CPython 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13 prereleases. The release files have python >=3.8 which means that they will be picked up for install on Python 3.8 or any newer version of Python. Following SPEC 0 would mean dropping Python 3.8 and 3.9 immediately now and changing it to python >=3.10 The last time we discussed dropping support for a particular Python version was whether to drop 3.8 which many other projects have dropped support for. It was Matthias Koeppe from Sage who suggested that it was useful to support Python 3.8. There have been discussions in the Sage org about following NEP 29 which is basically the same thing: https://groups.google.com/g/sage-devel/c/j1cwbTU8aOU/m/Ap_1pHlsBQAJ?utm_medium=email&utm_source=footer Personally I am in favour of going with SPEC 0 in coordination with the rest of the scientific Python ecosystem. I don't want to cause any immediate problems for Sage though so I would be reluctant to make a last minute decision to drop two Python versions right now for 1.13. -- Oscar -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAHVvXxTm2kuZuEeBj7Ab1wX%3Dm5-mvp_8Eq_Z%3DRjc2DvLebaj1g%40mail.gmail.com.