diff options
| author | Bobby <[email protected]> | 2026-04-28 14:28:42 +0530 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-28 14:28:42 +0530 |
| commit | 9fdc8c066cd19d7d1e9397890589d0e157b92553 (patch) | |
| tree | bb240eef169f4bc2330ee35c080a88a9936563a9 | |
| parent | 0a3ac3c0a226b9ce2ba6aa941afa8773f306653d (diff) | |
| parent | c6dd7992f18ceb10fc5a65c6004c2a19392975e1 (diff) | |
| download | edify-9fdc8c066cd19d7d1e9397890589d0e157b92553.tar.xz edify-9fdc8c066cd19d7d1e9397890589d0e157b92553.zip | |
feat!: drop Python 3.7 support (#32)
## Summary
Python 3.7 reached end-of-life on 2023-06-27. Copilot dropped 3.7 from
the CI matrix in #30 but left the rest of the project metadata pointing
at it. This PR finishes the job so 3.8 is the consistent floor
everywhere.
## Changes
- [`setup.py`](../blob/drop-python-3.7-support/setup.py): drop the
`Programming Language :: Python :: 3.7` classifier and bump
`python_requires` to `>=3.8`.
- [`pyproject.toml`](../blob/drop-python-3.7-support/pyproject.toml):
bump black `target-version` to `py38`.
- [`tox.ini`](../blob/drop-python-3.7-support/tox.ini): drop the `py37`
and `pypy37` envs from `envlist` and their `basepython` entries.
- [`README.rst`](../blob/drop-python-3.7-support/README.rst): update the
quick-start to "Python 3.8-3.14".
-
[`ci/templates/.appveyor.yml`](../blob/drop-python-3.7-support/ci/templates/.appveyor.yml):
bump the `check` env from Python 3.6 → 3.8 so the template's floor
matches the project's. Template only — not currently rendered into a
live AppVeyor config.
PyPy 3.8 is end-of-life as of October 2024, but I've intentionally left
it in this PR so the diff stays scoped to "drop 3.7." It will be cleaned
up in a follow-up PR that refreshes the PyPy CI matrix.
**BREAKING CHANGE:** Edify now requires Python 3.8 or newer. The next
release will be `0.3.0`.
## Test plan
- [ ] CI matrix passes on all of py38, py39, py310, py311, py312, py313,
py314, and pypy38.
- [ ] `check` and `docs` tox envs pass.
| -rw-r--r-- | README.rst | 2 | ||||
| -rw-r--r-- | ci/templates/.appveyor.yml | 6 | ||||
| -rw-r--r-- | pyproject.toml | 2 | ||||
| -rwxr-xr-x | setup.py | 3 | ||||
| -rw-r--r-- | tox.ini | 4 |
5 files changed, 7 insertions, 10 deletions
@@ -53,7 +53,7 @@ It also allows you to verify a string quickly by providing commonly used regex p Quick Start ============= -To get started make sure you have Python 3.7-3.14 installed and then, install Edify from ``pip``: +To get started make sure you have Python 3.8-3.14 installed and then, install Edify from ``pip``: .. code-block:: bash diff --git a/ci/templates/.appveyor.yml b/ci/templates/.appveyor.yml index a64923b..956e594 100644 --- a/ci/templates/.appveyor.yml +++ b/ci/templates/.appveyor.yml @@ -4,9 +4,9 @@ image: Visual Studio 2019 environment: matrix: - TOXENV: check - TOXPYTHON: C:\Python36\python.exe - PYTHON_HOME: C:\Python36 - PYTHON_VERSION: '3.6' + TOXPYTHON: C:\Python38\python.exe + PYTHON_HOME: C:\Python38 + PYTHON_VERSION: '3.8' PYTHON_ARCH: '32' {% for env in tox_environments %} {% if env.startswith(('py2', 'py3')) %} diff --git a/pyproject.toml b/pyproject.toml index 50a796d..4dc0ff5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,5 +6,5 @@ requires = [ [tool.black] line-length = 140 -target-version = ['py37'] +target-version = ['py38'] skip-string-normalization = true @@ -46,7 +46,6 @@ setup( 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3 :: Only', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', @@ -70,7 +69,7 @@ setup( keywords=[ # eg: 'keyword1', 'keyword2', 'keyword3', ], - python_requires='>=3.7', + python_requires='>=3.8', install_requires=[ # eg: 'aspectlib==1.1.1', 'six>=1.7', ], @@ -14,15 +14,13 @@ envlist = clean, check, docs, - {py37,py38,py39,py310,py311,py312,py313,py314,pypy37,pypy38}, + {py38,py39,py310,py311,py312,py313,py314,pypy38}, report ignore_basepython_conflict = true [testenv] basepython = - pypy37: {env:TOXPYTHON:pypy3.7} pypy38: {env:TOXPYTHON:pypy3.8} - py37: {env:TOXPYTHON:python3.7} py38: {env:TOXPYTHON:python3.8} py39: {env:TOXPYTHON:python3.9} py310: {env:TOXPYTHON:python3.10} |
