Skip to content

Commit 348eda4

Browse files
authored
Drop Python 3.9 support (#611)
It reached EOL on 2025-10-31: https://peps.python.org/pep-0596/#lifespan.
1 parent e4b3fe0 commit 348eda4

File tree

8 files changed

+34
-141
lines changed

8 files changed

+34
-141
lines changed

.github/ISSUE_TEMPLATE/issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ body:
66
attributes:
77
label: Python Version
88
description: Which version of Python were you using?
9-
placeholder: 3.9.0
9+
placeholder: 3.14.0
1010
validations:
1111
required: false
1212
- type: input

.github/workflows/main.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ jobs:
2020
strategy:
2121
matrix:
2222
python-version:
23-
- '3.9'
2423
- '3.10'
2524
- '3.11'
2625
- '3.12'

docs/changelog.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Changelog
33
=========
44

5+
* Drop Python 3.9 support.
6+
57
1.29.1 (2025-10-23)
68
-------------------
79

docs/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Installation
55
Requirements
66
------------
77

8-
Python 3.9 to 3.14 supported.
8+
Python 3.10 to 3.14 supported.
99

1010
(Python 3.12+ is required to correctly apply fixes within f-strings.)
1111

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ license-files = [ "LICENSE" ]
1717
authors = [
1818
{ name = "Adam Johnson", email = "[email protected]" },
1919
]
20-
requires-python = ">=3.9"
20+
requires-python = ">=3.10"
2121
classifiers = [
2222
"Development Status :: 5 - Production/Stable",
2323
"Framework :: Django :: 2.2",
@@ -34,7 +34,6 @@ classifiers = [
3434
"Natural Language :: English",
3535
"Operating System :: OS Independent",
3636
"Programming Language :: Python :: 3 :: Only",
37-
"Programming Language :: Python :: 3.9",
3837
"Programming Language :: Python :: 3.10",
3938
"Programming Language :: Python :: 3.11",
4039
"Programming Language :: Python :: 3.12",

src/django_upgrade/data.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
import pkgutil
55
import re
66
from collections import defaultdict
7-
from collections.abc import Iterable
7+
from collections.abc import Callable, Iterable
88
from functools import cached_property
9-
from typing import TYPE_CHECKING, Any, Callable, TypeVar
9+
from typing import TYPE_CHECKING, Any, TypeVar
1010

1111
from tokenize_rt import Offset, Token
1212

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
requires =
33
tox>=4.2
44
env_list =
5-
py{314, 313, 312, 311, 310, 39}
5+
py{314, 313, 312, 311, 310}
66

77
[testenv]
88
runner = uv-venv-lock-runner

uv.lock

Lines changed: 26 additions & 133 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)