Skip to content

Commit 683555d

Browse files
committed
Bump 3.10 min 3.14 max
1 parent d198e86 commit 683555d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+89
-164
lines changed

.github/workflows/main.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ jobs:
4141
# https://blog.jaraco.com/efficient-use-of-ci-resources/
4242
matrix:
4343
python:
44-
- "3.9"
45-
- ">=3.13.5" # temporary bound until it becomes the default, python/cpython#135151
44+
- "3.10"
45+
- "3.14"
4646
platform:
4747
- ubuntu-latest
4848
- macos-latest
@@ -54,7 +54,7 @@ jobs:
5454
platform: ubuntu-latest
5555
- python: "3.12"
5656
platform: ubuntu-latest
57-
- python: "3.14"
57+
- python: "3.13"
5858
platform: ubuntu-latest
5959
- python: pypy3.10
6060
platform: ubuntu-latest
@@ -63,7 +63,7 @@ jobs:
6363
python: "3.10"
6464
distutils: stdlib
6565
runs-on: ${{ matrix.platform }}
66-
continue-on-error: ${{ matrix.python == '3.14' || matrix.python == 'pypy3.10' }}
66+
continue-on-error: ${{ matrix.python == '3.15' || matrix.python == 'pypy3.10' }}
6767
# XXX: pypy seems to be flaky with unrelated tests in #6345
6868
env:
6969
SETUPTOOLS_USE_DISTUTILS: ${{ matrix.distutils || 'local' }}
@@ -73,7 +73,7 @@ jobs:
7373
- name: Install build dependencies
7474
# Install dependencies for building packages on pre-release Pythons
7575
# jaraco/skeleton#161
76-
if: matrix.python == '3.14' && matrix.platform == 'ubuntu-latest'
76+
if: matrix.python == '3.15' && matrix.platform == 'ubuntu-latest'
7777
run: |
7878
sudo apt update
7979
sudo apt install -y libxml2-dev libxslt-dev
@@ -83,9 +83,6 @@ jobs:
8383
with:
8484
python-version: ${{ matrix.python }}
8585
allow-prereleases: true
86-
env:
87-
# Workaround for actions/setup-python#981 (env var only modified for this specific step)
88-
SETUPTOOLS_USE_DISTUTILS: ${{ matrix.platform == 'macos-latest' && matrix.python == '3.9' && 'stdlib' || matrix.distutils || 'local' }}
8986
- uses: actions/cache@v4
9087
id: cache
9188
with:

.github/workflows/pyright.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ jobs:
4242
# https://blog.jaraco.com/efficient-use-of-ci-resources/
4343
matrix:
4444
python:
45-
- "3.9"
46-
- "3.13"
45+
- "3.10"
46+
- "3.14"
4747
platform:
4848
- ubuntu-latest
4949
runs-on: ${{ matrix.platform }}

_distutils_hack/__init__.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -187,17 +187,9 @@ def spec_for_sensitive_tests(self):
187187
clear_distutils()
188188
self.spec_for_distutils = lambda: None
189189

190-
sensitive_tests = (
191-
[
192-
'test.test_distutils',
193-
'test.test_peg_generator',
194-
'test.test_importlib',
195-
]
196-
if sys.version_info < (3, 10)
197-
else [
198-
'test.test_distutils',
199-
]
200-
)
190+
sensitive_tests = [
191+
'test.test_distutils',
192+
]
201193

202194

203195
for name in DistutilsMetaFinder.sensitive_tests:

conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def pytest_configure(config):
4040
]
4141

4242

43-
if sys.version_info < (3, 9) or sys.platform == 'cygwin':
43+
if sys.platform == 'cygwin':
4444
collect_ignore.append('tools/finalize.py')
4545

4646

mypy.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ disable_error_code =
2020

2121
# CI should test for all versions, local development gets hints for oldest supported
2222
# But our testing setup doesn't allow passing CLI arguments, so local devs have to set this manually.
23-
# python_version = 3.9
23+
# python_version = 3.10
2424

2525
exclude = (?x)(
2626
# Avoid scanning Python files in generated folders

pyproject.toml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ classifiers = [
2626
"Topic :: System :: Systems Administration",
2727
"Topic :: Utilities",
2828
]
29-
requires-python = ">=3.9"
29+
requires-python = ">=3.10"
3030
license = "MIT"
3131
dependencies = [
3232
]
@@ -56,16 +56,13 @@ test = [
5656
"tomli-w>=1.0.0",
5757
"pytest-timeout",
5858
'pytest-perf; sys_platform != "cygwin"', # workaround for jaraco/inflect#195, pydantic/pydantic-core#773 (see #3986)
59-
'pyobjc<12; sys_platform == "darwin" and python_version <= "3.9"', # workaround for #5105
6059
# for tools/finalize.py
61-
'jaraco.develop >= 7.21; python_version >= "3.9" and sys_platform != "cygwin"',
60+
'jaraco.develop >= 7.21; sys_platform != "cygwin"',
6261
"pytest-home >= 0.5",
6362
"pytest-subprocess",
6463

6564
# workaround for pypa/pyproject-hooks#206
6665
"pyproject-hooks!=1.1",
67-
68-
"jaraco.test>=5.5", # py.typed
6966
]
7067

7168
doc = [
@@ -99,7 +96,6 @@ core = [
9996
"packaging>=24.2",
10097
"more_itertools>=8.8",
10198
"jaraco.text>=3.7",
102-
"importlib_metadata>=6; python_version < '3.10'",
10399
"tomli>=2.0.1; python_version < '3.11'",
104100
"wheel>=0.43.0",
105101

@@ -140,8 +136,6 @@ type = [
140136
# until types-setuptools is removed from typeshed.
141137
# For help with static-typing issues, or mypy update, ping @Avasam
142138
"mypy==1.14.*",
143-
# Typing fixes in version newer than we require at runtime
144-
"importlib_metadata>=7.0.2; python_version < '3.10'",
145139
# Imported unconditionally in tools/finalize.py
146140
'jaraco.develop >= 7.21; sys_platform != "cygwin"',
147141
]

pyrightconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"setuptools/_distutils",
1212
],
1313
// Our testing setup doesn't allow passing CLI arguments, so local devs have to set this manually.
14-
// "pythonVersion": "3.9",
14+
// "pythonVersion": "3.10",
1515
// For now we don't mind if mypy's `type: ignore` comments accidentally suppresses pyright issues
1616
"enableTypeIgnoreComments": true,
1717
"typeCheckingMode": "basic",

pytest.ini

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,27 @@ filterwarnings=
99
# Fail on warnings
1010
error
1111

12-
# Workarounds for pypa/setuptools#3810
13-
# Can't use EncodingWarning as it doesn't exist on Python 3.9.
14-
# These warnings only appear on Python 3.10+
15-
1612
## upstream
1713

1814
# Ensure ResourceWarnings are emitted
1915
default::ResourceWarning
2016

2117
# python/mypy#17057
22-
ignore:'encoding' argument not specified::mypy
23-
ignore:'encoding' argument not specified::configparser
18+
ignore::EncodingWarning:mypy
19+
ignore::EncodingWarning:configparser
2420
# ^-- ConfigParser is called by mypy,
2521
# but ignoring the warning in `mypy` is not enough
2622
# to make it work on PyPy
2723

2824
# realpython/pytest-mypy#152
29-
ignore:'encoding' argument not specified::pytest_mypy
25+
ignore::EncodingWarning:pytest_mypy
3026

3127
# TODO: Set encoding when opening/writing tmpdir files with pytest's LocalPath.open
3228
# see pypa/setuptools#4326
33-
ignore:'encoding' argument not specified::_pytest
29+
ignore::EncodingWarning:_pytest
3430

3531
# Already fixed in pypa/distutils, but present in stdlib
36-
ignore:'encoding' argument not specified::distutils
32+
ignore::EncodingWarning:distutils
3733

3834
## end upstream
3935

ruff.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ ignore = [
7373
[lint.per-file-ignores]
7474
# Suppress nuisance warnings about module-import-not-at-top-of-file (E402) due to workaround for #4476
7575
"setuptools/__init__.py" = ["E402"]
76-
"pkg_resources/__init__.py" = ["E402", "ANN204"]
76+
# pkg_resources is about to be removed, avoid changes
77+
"pkg_resources/__init__.py" = ["E402", "ANN204", "UP007", "UP035"]
7778
"pkg_resources/tests/test_resources.py" = ["PT031"]
7879

7980
[lint.isort]

setuptools/_entry_points.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import functools
22
import itertools
33
import operator
4+
from importlib import metadata
45

56
from jaraco.functools import pass_none
67
from jaraco.text import yield_lines
78
from more_itertools import consume
89

9-
from ._importlib import metadata
1010
from ._itertools import ensure_unique
1111
from .errors import OptionError
1212

0 commit comments

Comments
 (0)