Hi all, I think it is a good time to release SymPy 1.14. I was too busy in the last few months to do this.
The main thing that needs to be decided before releasing is just what the minimum supported Python version should be. I bumped the minimum version from Python 3.8 to 3.9 because 3.8 is old and was causing problems for this PR: https://github.com/sympy/sympy/pull/27850 There is spec 0 which attempts to coordinate Python and other version support in the scientific Python ecosystem: https://scientific-python.org/specs/spec-0000/ Previous discussions about this are at: https://groups.google.com/g/sympy/c/VNz2xJ1Sywo/m/0H1-KmaJAgAJ In anticipation of the suggestion to write a policy/SymPEP about spec 0 or version support let me just point out that doing that before releasing SymPy 1.14 will delay the release which is already overdue. Right now we just need a quick decision about which versions SymPy 1.14 should support. Following spec 0 would mean dropping support for 3.9 and 3.10 right now meaning that the currently supported versions would be 3.11, 3.12 and 3.13 (and 3.14). I don't know of any strong advantage that SymPy would get from dropping 3.9 or 3.10 in particular but there is a reason why spec 0 says to do this regardless. The problem with SymPy putting out a new release that would be installed on older Python versions is that it can break other packages that depend on SymPy but that no longer provide releases for those older Python versions. Most of the time it is correct that Python packages don't use upper version constraints like sympy<=1.13 but it makes it problematic if SymPy and those other packages don't support the same range of Python versions. This is basically why spec 0 recommends that projects in the scientific Python ecosystem coordinate to support a common set of versions. Essentially part of the compatibility information between different packages is encoded by packages following a similar policy for Python version support. On the other hand spec 0 is not universally adopted and takes a somewhat aggressive approach to minimum supported Python versions. CPython itself says that versions 3.9 to 3.13 are still considered supported: https://devguide.python.org/versions/ Two major dependents for SymPy are pytorch and SageMath. Currently SageMath claims to support 3.9 to 3.12 although I think a new release is coming soon that would support 3.13 and would perhaps drop some of the older versions: https://doc.sagemath.org/html/en/reference/spkg/python3.html The last release of pytorch was a couple of months ago and supports 3.9 to 3.13: https://pypi.org/project/torch/2.6.0/#files Potentially if SymPy 1.14 does not support the whole range of Python versions that e.g. torch does then that creates a problem for them because it means they have to straddle multiple SymPy versions. Ideally we don't break them in that situation but I think that every SymPy release does cause issues for both torch and Sage. Currently torch constrains sympy>=1.13.3 i.e. they only accept the absolutely newest release of SymPy. I think Sage constrains the sympy version in a similar way so it is useful for them if a SymPy release supports at least the Python versions that they want to support. For SymPy's own dependencies, mpmath's last release 1.3.0 was 2 years ago and does not list any particular Python version support. The current mpmath master branch has requires-python>=3.9 but I have no idea when there might be a full release of mpmath. Both gmpy2 and python-flint are optional dependencies. The last release of gmpy2 was almost a year ago and provides binaries for CPython 3.7 to 3.13. The latest release of python-flint only supports 3.11, 3.12 and 3.13. Other things like numpy, scipy, matplotlib etc generally follow spec 0 so they currently only support 3.11-3.13. I don't have strong opinions about Python version support for SymPy 3.14 but it needs to be decided before we can put out a new release. -- 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 visit https://groups.google.com/d/msgid/sympy/CAHVvXxQKm%3DVx3U53GN_GhRbAm-68c982NZtA1wfrk7G%2BAqEBww%40mail.gmail.com.