Skip to content

Commit 84ed591

Browse files
authored
Refresh project structure (skeleton) (#5220)
2 parents 5a13876 + 7e9b533 commit 84ed591

22 files changed

Lines changed: 59 additions & 58 deletions

.github/workflows/main.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,29 +41,29 @@ jobs:
4141
# https://blog.jaraco.com/efficient-use-of-ci-resources/
4242
matrix:
4343
python:
44-
- "3.9"
44+
- "3.10"
4545
- ">=3.13.5" # temporary bound until it becomes the default, python/cpython#135151
4646
platform:
4747
- ubuntu-latest
4848
- macos-latest
4949
- windows-latest
5050
include:
51-
- python: "3.10"
52-
platform: ubuntu-latest
5351
- python: "3.11"
5452
platform: ubuntu-latest
5553
- python: "3.12"
5654
platform: ubuntu-latest
5755
- python: "3.14"
5856
platform: ubuntu-latest
57+
- python: "3.15"
58+
platform: ubuntu-latest
5959
- python: pypy3.10
6060
platform: ubuntu-latest
6161
distutils: stdlib
6262
- platform: ubuntu-latest
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
@@ -187,7 +187,7 @@ jobs:
187187
strategy:
188188
matrix:
189189
python:
190-
- 39
190+
- 312
191191
platform:
192192
- windows-latest
193193
runs-on: ${{ matrix.platform }}

.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 }}

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
.. |docs-badge| image:: https://img.shields.io/readthedocs/setuptools/latest.svg
1515
:target: https://setuptools.pypa.io
1616

17-
.. |skeleton-badge| image:: https://img.shields.io/badge/skeleton-2025-informational
17+
.. |skeleton-badge| image:: https://img.shields.io/badge/skeleton-2026-informational
1818
:target: https://blog.jaraco.com/skeleton
1919

2020
.. |codecov-badge| image:: https://img.shields.io/codecov/c/github/pypa/setuptools/master.svg?logo=codecov&logoColor=white
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Require Python 3.10 or later.

pyproject.toml

Lines changed: 6 additions & 4 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
]
@@ -109,7 +109,7 @@ core = [
109109

110110
check = [
111111
# upstream
112-
"pytest-checkdocs >= 2.4",
112+
"pytest-checkdocs >= 2.14",
113113
"pytest-ruff >= 0.2.1; sys_platform != 'cygwin'",
114114

115115
# local
@@ -123,12 +123,14 @@ cover = [
123123
]
124124

125125
enabler = [
126-
"pytest-enabler >= 2.2",
126+
"pytest-enabler >= 3.4",
127127
]
128128

129129
type = [
130130
# upstream
131-
"pytest-mypy",
131+
132+
# Exclude PyPy from type checks (python/mypy#20454 jaraco/skeleton#187)
133+
"pytest-mypy >= 1.0.1; platform_python_implementation != 'PyPy'",
132134

133135
# local
134136

setuptools/_importlib.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,2 @@
1-
import sys
2-
3-
if sys.version_info < (3, 10):
4-
import importlib_metadata as metadata # pragma: no cover
5-
else:
6-
import importlib.metadata as metadata # noqa: F401
7-
8-
1+
import importlib.metadata as metadata # noqa: F401
92
import importlib.resources as resources # noqa: F401

setuptools/_path.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import contextlib
44
import os
55
import sys
6-
from typing import TYPE_CHECKING, TypeVar, Union
6+
from typing import TYPE_CHECKING, TypeVar
77

88
from more_itertools import unique_everseen
99

1010
if TYPE_CHECKING:
11-
from typing_extensions import TypeAlias
11+
from typing import TypeAlias
1212

13-
StrPath: TypeAlias = Union[str, os.PathLike[str]] # Same as _typeshed.StrPath
14-
StrPathT = TypeVar("StrPathT", bound=Union[str, os.PathLike[str]])
13+
StrPath: TypeAlias = str | os.PathLike[str] # Same as _typeshed.StrPath
14+
StrPathT = TypeVar("StrPathT", bound=str | os.PathLike[str])
1515

1616

1717
def ensure_directory(path):

setuptools/_reqs.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
from __future__ import annotations
22

3-
from collections.abc import Iterable, Iterator
3+
from collections.abc import Callable, Iterable, Iterator
44
from functools import lru_cache
5-
from typing import TYPE_CHECKING, Callable, TypeVar, Union, overload
5+
from typing import TYPE_CHECKING, TypeVar, overload
66

77
import jaraco.text as text
88
from packaging.requirements import Requirement
99

1010
if TYPE_CHECKING:
11-
from typing_extensions import TypeAlias
11+
from typing import TypeAlias
1212

1313
_T = TypeVar("_T")
14-
_StrOrIter: TypeAlias = Union[str, Iterable[str]]
14+
_StrOrIter: TypeAlias = str | Iterable[str]
1515

1616

1717
parse_req: Callable[[str], Requirement] = lru_cache()(Requirement)

setuptools/_shutil.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
import os
44
import stat
5-
from typing import Callable, TypeVar
5+
from collections.abc import Callable
6+
from typing import TypeVar
67

78
from .compat import py311
89

setuptools/build_meta.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
import warnings
4040
from collections.abc import Iterable, Iterator, Mapping
4141
from pathlib import Path
42-
from typing import TYPE_CHECKING, NoReturn, Union
42+
from typing import TYPE_CHECKING, NoReturn
4343

4444
import setuptools
4545

@@ -52,7 +52,7 @@
5252
from distutils.util import strtobool
5353

5454
if TYPE_CHECKING:
55-
from typing_extensions import TypeAlias
55+
from typing import TypeAlias
5656

5757
__all__ = [
5858
'get_requires_for_build_sdist',
@@ -144,7 +144,7 @@ def suppress_known_deprecation():
144144
yield
145145

146146

147-
_ConfigSettings: TypeAlias = Union[Mapping[str, Union[str, list[str], None]], None]
147+
_ConfigSettings: TypeAlias = Mapping[str, str | list[str] | None] | None
148148
"""
149149
Currently the user can run::
150150

0 commit comments

Comments
 (0)