From 3003fa4377d14957120a850626c477465ad54a5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asif=20Saif=20Uddin=20=7B=22Auvi=22=3A=22=E0=A6=85?= =?UTF-8?q?=E0=A6=AD=E0=A6=BF=22=7D?= Date: Wed, 17 Sep 2025 14:48:32 +0600 Subject: [PATCH 1/4] Remove Python 3.9 support --- .github/workflows/main.yml | 8 +------- README.md | 2 +- docs/index.md | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 838a4b51a0..2078fa7c8f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,7 +14,6 @@ jobs: strategy: matrix: python-version: - - '3.9' - '3.10' - '3.11' - '3.12' @@ -38,11 +37,6 @@ jobs: - name: Run tox targets for ${{ matrix.python-version }} run: tox run -f py$(echo ${{ matrix.python-version }} | tr -d . | cut -f 1 -d '-') - - name: Run extra tox targets - if: ${{ matrix.python-version == '3.9' }} - run: | - tox -e base,dist,docs - - name: Upload coverage uses: codecov/codecov-action@v5 with: @@ -56,7 +50,7 @@ jobs: - uses: actions/setup-python@v6 with: - python-version: '3.9' + python-version: '3.13' - name: Install dependencies run: pip install -r requirements/requirements-documentation.txt diff --git a/README.md b/README.md index 1427b274bc..b2bada7b43 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ Some reasons you might want to use REST framework: # Requirements -* Python 3.9+ +* Python 3.10+ * Django 4.2, 5.0, 5.1, 5.2 We **highly recommend** and only officially support the latest patch release of diff --git a/docs/index.md b/docs/index.md index d590d2c049..64dd28a459 100644 --- a/docs/index.md +++ b/docs/index.md @@ -88,7 +88,7 @@ continued development by **[signing up for a paid plan][funding]**. REST framework requires the following: * Django (4.2, 5.0, 5.1, 5.2) -* Python (3.9, 3.10, 3.11, 3.12, 3.13) +* Python (3.10, 3.11, 3.12, 3.13) We **highly recommend** and only officially support the latest patch release of each Python and Django series. From 869ef17317600298d44b9a375fe789dd60c57885 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 20 Sep 2025 11:16:02 +0100 Subject: [PATCH 2/4] Update package metadata --- pyproject.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0c7b4db723..37308429bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ description = "Web APIs for Django, made easy." readme = "README.md" license = "BSD-3-Clause" authors = [ { name = "Tom Christie", email = "tom@tomchristie.com" } ] -requires-python = ">=3.9" +requires-python = ">=3.10" classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", @@ -21,7 +21,6 @@ classifiers = [ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", From cd21d599bd749159864453b854d9fadd3f93f667 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 20 Sep 2025 11:16:18 +0100 Subject: [PATCH 3/4] Remove unused tox target --- tox.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/tox.ini b/tox.ini index 031dc4a5d4..f2df7301af 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,5 @@ [tox] envlist = - {py39}-{django42} {py310}-{django42,django51,django52} {py311}-{django42,django51,django52} {py312}-{django42,django51,django52,djangomain} From 9d86ceb7a6d43ac3d98e12f69fd60c790010e72d Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sat, 20 Sep 2025 11:18:24 +0100 Subject: [PATCH 4/4] Restore running extra tox targets --- .github/workflows/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2078fa7c8f..6d930bff91 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -37,6 +37,11 @@ jobs: - name: Run tox targets for ${{ matrix.python-version }} run: tox run -f py$(echo ${{ matrix.python-version }} | tr -d . | cut -f 1 -d '-') + - name: Run extra tox targets + if: ${{ matrix.python-version == '3.13' }} + run: | + tox -e base,dist,docs + - name: Upload coverage uses: codecov/codecov-action@v5 with: