Skip to content

Commit 8b6e00c

Browse files
committed
Remove support for Python 3.9
1 parent b5f9f29 commit 8b6e00c

File tree

7 files changed

+14
-173
lines changed

7 files changed

+14
-173
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
20+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
2121
os: [ubuntu-latest, macos-latest, windows-latest]
2222

2323
steps:

docs/configuration/black_compatibility.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ A demo of how this would look like in your _.travis.yml_
3333
language: python
3434
python:
3535
- "3.10"
36-
- "3.9"
3736

3837
install:
3938
- pip install -r requirements-dev.txt

docs/contributing/1.-contributing-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Account Requirements:
1414

1515
Base System Requirements:
1616

17-
- Python3.9+
17+
- Python3.10+
1818
- uv
1919
- bash or a bash compatible shell (should be auto-installed on Linux / Mac)
2020
- WSL users running Ubuntu may need to install Python's venv module even after installing Python.

pyproject.toml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ classifiers = [
2020
"License :: OSI Approved :: MIT License",
2121
"Programming Language :: Python",
2222
"Programming Language :: Python :: 3",
23-
"Programming Language :: Python :: 3.9",
2423
"Programming Language :: Python :: 3.10",
2524
"Programming Language :: Python :: 3.11",
2625
"Programming Language :: Python :: 3.12",
@@ -37,15 +36,9 @@ include = [
3736
{ path = "ACKNOWLEDGEMENTS.md", format = "sdist" },
3837
{ path = "LICENSE", format = "sdist" },
3938
]
40-
requires-python = ">=3.9.0"
41-
42-
dependencies = [
43-
# we only need the entry_points() function, which appeared in the stdlib
44-
# in Python 3.10.
45-
# importlib_metadata 4.6 is the version matching stdlib 3.10
46-
# See grid at https://pypi.org/project/importlib-metadata/
47-
"importlib_metadata >= 4.6.0; python_version < '3.10'",
48-
]
39+
requires-python = ">=3.10.0"
40+
41+
dependencies = []
4942

5043
[project.urls]
5144
Homepage = "https://pycqa.github.io/isort/index.html"
@@ -163,7 +156,7 @@ per-file-ignores = [
163156
]
164157

165158
[tool.mypy]
166-
python_version = 3.9
159+
python_version = "3.10"
167160
strict = true
168161
follow_imports = "silent"
169162
exclude = "isort/_vendored|tests/unit/example_projects|tests/unit/example_crlf_file.py"

scripts/docker.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set -ux
33

44
result=0
55

6-
for ver in {3.9,3.10}; do
6+
for ver in {3.10,3.11,3.12,3.13,3.14}; do
77
# latest tag will override after each build, leaving only the newest python version tagged
88
docker build ./ --build-arg VERSION=$ver -t "isort:$ver" -t "isort:latest" && docker run "isort:$ver"
99
result=$(( $? + $result ))

tox.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ env_list =
44
# When updating the list of Python versions to test,
55
# use search-and-replace to ensure that intra-environment
66
# dependencies are maintained for parallel execution.
7-
py{3.13, 3.12, 3.11, 3.10, 3.9}
7+
py{3.14, 3.13, 3.12, 3.11, 3.10}
88
coverage_report
99
mypy
1010

@@ -22,15 +22,15 @@ runner = uv-venv-lock-runner
2222
dependency_groups =
2323
dev
2424
depends =
25-
py{3.13, 3.12, 3.11, 3.10, 3.9}: coverage_erase
25+
py{3.14, 3.13, 3.12, 3.11, 3.10}: coverage_erase
2626
commands =
2727
coverage run -m pytest tests/unit/ -s --ignore=tests/unit/test_deprecated_finders.py
2828

2929

3030
[testenv:coverage_report{,-ci}]
3131
description = Create a coverage report
3232
depends =
33-
py{3.13, 3.12, 3.11, 3.10, 3.9}
33+
py{3.14, 3.13, 3.12, 3.11, 3.10}
3434
dependency_groups =
3535
dev
3636
commands_pre =
@@ -55,7 +55,7 @@ dependency_groups =
5555
commands =
5656
cruft check
5757
mypy -p isort -p tests
58-
black --target-version py39 --check .
58+
black --target-version py310 --check .
5959
isort --profile hug --check --diff isort/ tests/
6060
isort --profile hug --check --diff example_isort_formatting_plugin/
6161
isort --profile hug --check --diff example_isort_sorting_plugin/

uv.lock

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

0 commit comments

Comments
 (0)