Changed paths:
M .github/workflows/test.yml
M .readthedocs.yml
M Doc/source/index.rst
M README.rst
M mypy.ini
M pyproject.toml
M setup.py
M tox.ini
Log Message:
-----------
Require Python 3.11 or later
3.10 reaches end of life in October 2026. Drop it from python_requires,
the classifiers, the CI matrix and tox envlist, and bump the black target
and the readthedocs builder (which pip-installs the package, so it has to
satisfy python_requires). mypy's python_version was still on 3.9, bump
that too.
Also replace the NEP 29 reference in the README: NEP 29 is superseded by
SPEC 0, whose schedule would put us on 3.13 already, which is too
aggressive for fonttools. Point at Python's own supported versions
instead, which is what a >=3.11 floor follows anyway.
M Lib/fontTools/misc/enumTools.py
M Lib/fontTools/pens/pointPen.py
Log Message:
-----------
[enumTools] drop the StrEnum backport now that we require 3.11
enum.StrEnum is always available, so pointPen imports it straight from the
stdlib. fontTools.misc.enumTools has been public since 4.60.0, so I left it
as a re-export instead of removing it.
Log Message:
-----------
Test Python 3.15 with current dependency wheels
Use SciPy 1.18.1 on Python 3.15, where it supplies cp315 wheels, while retaining SciPy 1.16.3 for Python 3.11 through 3.14. Update lxml and PyObjC to releases with Python 3.15 wheels.