From 264f5ce2329f6eb8011cdf5ccec85b136848b1da Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Sun, 28 Jan 2024 22:56:27 -0700 Subject: [PATCH] drop support for python 3.7 which was eol in 2023 --- .github/workflows/ci-tests.yml | 1 - CHANGES.rst | 2 +- HACKING.txt | 2 +- docs/narr/install.rst | 7 +++---- docs/narr/upgrading.rst | 1 - docs/quick_tutorial/requirements.rst | 4 ++-- pyproject.toml | 2 +- setup.py | 3 +-- tox.ini | 2 +- 9 files changed, 10 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index f24159c40..37f0d86cd 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -15,7 +15,6 @@ jobs: strategy: matrix: py: - - "3.7" - "3.8" - "3.9" - "3.10" diff --git a/CHANGES.rst b/CHANGES.rst index f27be0253..b3aae92b4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -54,7 +54,7 @@ Bug Fixes Backward Incompatibilities -------------------------- -- Drop support for Python 3.6. +- Drop support for Python 3.6 and 3.7. - Requests to a static_view are no longer allowed to contain a null-byte in any part of the path segment. diff --git a/HACKING.txt b/HACKING.txt index f7c569a01..c853c138d 100644 --- a/HACKING.txt +++ b/HACKING.txt @@ -50,7 +50,7 @@ In order to add a feature to Pyramid: - The feature must be documented in both the API and narrative documentation (in `docs/`). -- The feature must work fully on the following CPython versions: 3.7, 3.8, 3.9, +- The feature must work fully on the following CPython versions: 3.8, 3.9, 3.10, 3.11, and 3.12 on both UNIX and Windows. - The feature must work on the latest version of PyPy3. diff --git a/docs/narr/install.rst b/docs/narr/install.rst index c40cd7403..fa6b3023a 100644 --- a/docs/narr/install.rst +++ b/docs/narr/install.rst @@ -5,7 +5,7 @@ Installing :app:`Pyramid` .. note:: - This installation guide emphasizes the use of Python 3.7 and greater for + This installation guide emphasizes the use of Python 3.8 and greater for simplicity. @@ -15,14 +15,13 @@ Installing :app:`Pyramid` Before You Install Pyramid -------------------------- -Install Python version 3.7 or greater for your operating system, and satisfy +Install Python version 3.8 or greater for your operating system, and satisfy the :ref:`requirements-for-installing-packages`, as described in the following sections. .. sidebar:: Python Versions - As of this writing, :app:`Pyramid` is tested against Python 3.7, - 3.8, 3.9, 3.10, 3.11, 3.12 and PyPy (matches CPython version 3.8). + As of this writing, :app:`Pyramid` is tested against Python 3.8, 3.9, 3.10, 3.11, 3.12 and PyPy (matches CPython version 3.8). :app:`Pyramid` is known to run on all popular Unix-like systems such as Linux, macOS, and FreeBSD, as well as on Windows platforms. It is also known to diff --git a/docs/narr/upgrading.rst b/docs/narr/upgrading.rst index 64d51c024..6638f67d9 100644 --- a/docs/narr/upgrading.rst +++ b/docs/narr/upgrading.rst @@ -86,7 +86,6 @@ At the time of a Pyramid version release, each supports all versions of Python through the end of their lifespans. The end-of-life for a given version of Python is when security updates are no longer released. -- `Python 3.7 Lifespan `_ 2023-06-27. - `Python 3.8 Lifespan `_ 2024-10. - `Python 3.9 Lifespan `_ 2025-10. - `Python 3.10 Lifespan `_ 2026-10. diff --git a/docs/quick_tutorial/requirements.rst b/docs/quick_tutorial/requirements.rst index 5f5c0b10b..a8531dfc5 100644 --- a/docs/quick_tutorial/requirements.rst +++ b/docs/quick_tutorial/requirements.rst @@ -19,8 +19,8 @@ virtual environment.) This *Quick Tutorial* is based on: -* **Python 3.8**. Pyramid fully supports Python 3.7+. - This tutorial uses **Python 3.8**. +* **Python 3.8**. Pyramid fully supports Python 3.8+. + This tutorial has been tested with **Python 3.8**. * **venv**. We believe in virtual environments. For this tutorial, we use Python 3's built-in solution :term:`venv`. diff --git a/pyproject.toml b/pyproject.toml index e5beb1e70..7d25b6231 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" [tool.black] line-length = 79 skip-string-normalization = true -target-version = ['py37', 'py38', 'py39', 'py310', 'py311', 'py312'] +target-version = ['py38', 'py39', 'py310', 'py311', 'py312'] exclude = ''' /( \.git diff --git a/setup.py b/setup.py index 7fab10b71..08e44d2fa 100644 --- a/setup.py +++ b/setup.py @@ -74,7 +74,6 @@ def readfile(name): "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -101,7 +100,7 @@ def readfile(name): package_dir={'': 'src'}, include_package_data=True, zip_safe=False, - python_requires='>=3.7', + python_requires='>=3.8', install_requires=install_requires, extras_require={'testing': testing_extras, 'docs': docs_extras}, tests_require=tests_require, diff --git a/tox.ini b/tox.ini index ff4d77583..ff962a935 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] envlist = lint, - py37,py38,py39,py310,py311,py312,pypy3, + py38,py39,py310,py311,py312,pypy3, py312-cover,coverage, docs