Drop Python 3.9 support and update PyPy to 3.11 by theskumar · Pull Request #608 · theskumar/python-dotenv

@theskumar

Python 3.9 reached end-of-life on October 5, 2025. This commit removes
support for Python 3.9 and updates the minimum required version to
Python 3.10.

Additionally, PyPy has been updated from 3.10 to 3.11, and proper
support for Python 3.14 free-threading builds (3.14t) has been added
with separate tox environments.

Changes:
- Update requires-python from >=3.9 to >=3.10 in pyproject.toml
- Remove Python 3.9 classifier from package metadata
- Remove Python 3.9 and PyPy 3.9 from CI test matrix
- Update PyPy from 3.10 to 3.11 (latest stable version)
- Remove py39 from tox envlist and gh-actions mapping
- Remove mypy type checking for Python 3.9
- Add separate tox environments for py314 and py314t to properly
  support both regular and free-threading Python 3.14 builds
- Update all tox environment references to include py314 and py314t

The project now officially supports:
- CPython: 3.10, 3.11, 3.12, 3.13, 3.14 (including free-threading)
- PyPy: 3.11