From 04ff5549ee93f907bcebb1db570ad291ae55fd29 Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Sun, 22 Jun 2025 13:49:02 +0100 Subject: [PATCH 01/14] Update pre-commit ruff (jaraco/skeleton#181) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 633e3648e9..fa5592412f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.9 + rev: v0.12.0 hooks: - id: ruff args: [--fix, --unsafe-fixes] From 8c5810ed39f431598f8498499e7e8fa38a8ed455 Mon Sep 17 00:00:00 2001 From: Avasam Date: Sun, 22 Jun 2025 08:50:30 -0400 Subject: [PATCH 02/14] Log filenames when running pytest-mypy (jaraco/skeleton#177) --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ce6c17090d..e916f46b57 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,12 +58,12 @@ cover = [ ] enabler = [ - "pytest-enabler >= 2.2", + "pytest-enabler >= 3.4", ] type = [ # upstream - "pytest-mypy", + "pytest-mypy >= 1.0.1", # local ] From d47a969ed4567bbdee26034ccaaa8b8169f44fcf Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 19 Oct 2025 13:06:02 -0400 Subject: [PATCH 03/14] Specify the directory for news fragments. Uses the default as found on towncrier prior to 25 and sets to a predictable value. Fixes jaraco/skeleton#184 --- towncrier.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/towncrier.toml b/towncrier.toml index 6fa480e44f..577e87a793 100644 --- a/towncrier.toml +++ b/towncrier.toml @@ -1,2 +1,3 @@ [tool.towncrier] title_format = "{version}" +directory = "newsfragments" # jaraco/skeleton#184 From 8f3d95e7db0114e26e57dd95932b141ead74f7c5 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 21 Dec 2025 04:04:12 -0500 Subject: [PATCH 04/14] Pin mypy on PyPy. Closes jaraco/skeleton#188. Ref python/mypy#20454. --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index e916f46b57..987b802ce9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,6 +65,9 @@ type = [ # upstream "pytest-mypy >= 1.0.1", + ## workaround for python/mypy#20454 + "mypy < 1.19; python_implementation == 'PyPy'", + # local ] From d5c6862e8d8291aec83aeea8261191e491a63d68 Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Fri, 13 Mar 2026 16:48:11 +0200 Subject: [PATCH 05/14] Update pre-commit ruff legacy alias (jaraco/skeleton#183) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fa5592412f..54cc8303b2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,6 +2,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.12.0 hooks: - - id: ruff + - id: ruff-check args: [--fix, --unsafe-fixes] - id: ruff-format From d9b029be3925b99d3b0d2ef529d79d0a1b9d2c52 Mon Sep 17 00:00:00 2001 From: Avasam Date: Fri, 13 Mar 2026 10:56:44 -0400 Subject: [PATCH 06/14] Don't install (nor run) mypy on PyPy (librt build failures) (jaraco/skeleton#187) --------- Co-authored-by: Jason R. Coombs --- pyproject.toml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 987b802ce9..cdf82cfb87 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,10 +63,9 @@ enabler = [ type = [ # upstream - "pytest-mypy >= 1.0.1", - - ## workaround for python/mypy#20454 - "mypy < 1.19; python_implementation == 'PyPy'", + + # Exclude PyPy from type checks (python/mypy#20454 jaraco/skeleton#187) + "pytest-mypy >= 1.0.1; platform_python_implementation != 'PyPy'", # local ] From 16fb289d38af0d510e39afcbbd43bace2d6d8dd9 Mon Sep 17 00:00:00 2001 From: Avasam Date: Fri, 13 Mar 2026 10:59:27 -0400 Subject: [PATCH 07/14] Bump `pytest-checkdocs` to `>= 2.14` to resolve deprecation warnings (jaraco/skeleton#189) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index cdf82cfb87..5b2a8a820b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,7 +49,7 @@ doc = [ ] check = [ - "pytest-checkdocs >= 2.4", + "pytest-checkdocs >= 2.14", "pytest-ruff >= 0.2.1; sys_platform != 'cygwin'", ] From 07389c4c4609a49826ea9ed510419c2e32eccee9 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri, 13 Mar 2026 11:18:41 -0400 Subject: [PATCH 08/14] Bump Python versions: drop 3.9 (EOL), add 3.15 (jaraco/skeleton#193) --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jaraco <308610+jaraco@users.noreply.github.com> --- .github/workflows/main.yml | 10 +++++----- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 53513eee9b..d40c74ac32 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -34,31 +34,31 @@ jobs: # https://blog.jaraco.com/efficient-use-of-ci-resources/ matrix: python: - - "3.9" + - "3.10" - "3.13" platform: - ubuntu-latest - macos-latest - windows-latest include: - - python: "3.10" - platform: ubuntu-latest - python: "3.11" platform: ubuntu-latest - python: "3.12" platform: ubuntu-latest - python: "3.14" platform: ubuntu-latest + - python: "3.15" + platform: ubuntu-latest - python: pypy3.10 platform: ubuntu-latest runs-on: ${{ matrix.platform }} - continue-on-error: ${{ matrix.python == '3.14' }} + continue-on-error: ${{ matrix.python == '3.15' }} steps: - uses: actions/checkout@v4 - name: Install build dependencies # Install dependencies for building packages on pre-release Pythons # jaraco/skeleton#161 - if: matrix.python == '3.14' && matrix.platform == 'ubuntu-latest' + if: matrix.python == '3.15' && matrix.platform == 'ubuntu-latest' run: | sudo apt update sudo apt install -y libxml2-dev libxslt-dev diff --git a/pyproject.toml b/pyproject.toml index 5b2a8a820b..a25e78ec8e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", ] -requires-python = ">=3.9" +requires-python = ">=3.10" license = "MIT" dependencies = [ ] From 606a7a5f999e6a43480015460be604a77f16ce68 Mon Sep 17 00:00:00 2001 From: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> Date: Sun, 15 Mar 2026 19:20:06 +0200 Subject: [PATCH 09/14] Fix CI warning in diffcov report (jaraco/skeleton#194) UserWarning: The --html-report option is deprecated. Use --format html:diffcov.html instead. --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 1424305140..e05a3d4a2a 100644 --- a/tox.ini +++ b/tox.ini @@ -20,7 +20,7 @@ deps = diff-cover commands = pytest {posargs} --cov-report xml - diff-cover coverage.xml --compare-branch=origin/main --html-report diffcov.html + diff-cover coverage.xml --compare-branch=origin/main --format html:diffcov.html diff-cover coverage.xml --compare-branch=origin/main --fail-under=100 [testenv:docs] From 684a3157eae9988cdd8e95969efa9a79a70f69f6 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 13 Apr 2026 04:21:33 -0400 Subject: [PATCH 10/14] Bump badge for 2026. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 3000f5ab21..44f4863938 100644 --- a/README.rst +++ b/README.rst @@ -14,5 +14,5 @@ .. .. image:: https://readthedocs.org/projects/PROJECT_RTD/badge/?version=latest .. :target: https://PROJECT_RTD.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2025-informational +.. image:: https://img.shields.io/badge/skeleton-2026-informational :target: https://blog.jaraco.com/skeleton From be983de4f37898f05a97f0dc5bb36994bd5603dc Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 13 Apr 2026 04:35:41 -0400 Subject: [PATCH 11/14] =?UTF-8?q?=F0=9F=91=B9=20Feed=20the=20hobgoblins=20?= =?UTF-8?q?(delint).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setuptools/_importlib.py | 9 +-------- setuptools/_path.py | 8 ++++---- setuptools/_reqs.py | 8 ++++---- setuptools/_shutil.py | 3 ++- setuptools/build_meta.py | 6 +++--- setuptools/command/bdist_egg.py | 3 ++- setuptools/compat/py311.py | 6 ++++-- setuptools/config/__init__.py | 3 ++- setuptools/config/_apply_pyprojecttoml.py | 10 +++++----- setuptools/config/expand.py | 4 ++-- setuptools/config/pyprojecttoml.py | 4 ++-- setuptools/config/setupcfg.py | 6 +++--- setuptools/dist.py | 8 ++++---- setuptools/tests/test_build_meta.py | 3 ++- setuptools/warnings.py | 2 +- 15 files changed, 41 insertions(+), 42 deletions(-) diff --git a/setuptools/_importlib.py b/setuptools/_importlib.py index ce0fd52653..2b27bc10cd 100644 --- a/setuptools/_importlib.py +++ b/setuptools/_importlib.py @@ -1,9 +1,2 @@ -import sys - -if sys.version_info < (3, 10): - import importlib_metadata as metadata # pragma: no cover -else: - import importlib.metadata as metadata # noqa: F401 - - +import importlib.metadata as metadata # noqa: F401 import importlib.resources as resources # noqa: F401 diff --git a/setuptools/_path.py b/setuptools/_path.py index 2b78022934..0a5b26ea4b 100644 --- a/setuptools/_path.py +++ b/setuptools/_path.py @@ -3,15 +3,15 @@ import contextlib import os import sys -from typing import TYPE_CHECKING, TypeVar, Union +from typing import TYPE_CHECKING, TypeVar from more_itertools import unique_everseen if TYPE_CHECKING: - from typing_extensions import TypeAlias + from typing import TypeAlias -StrPath: TypeAlias = Union[str, os.PathLike[str]] # Same as _typeshed.StrPath -StrPathT = TypeVar("StrPathT", bound=Union[str, os.PathLike[str]]) +StrPath: TypeAlias = str | os.PathLike[str] # Same as _typeshed.StrPath +StrPathT = TypeVar("StrPathT", bound=str | os.PathLike[str]) def ensure_directory(path): diff --git a/setuptools/_reqs.py b/setuptools/_reqs.py index 7be56cbf35..19ef375cf1 100644 --- a/setuptools/_reqs.py +++ b/setuptools/_reqs.py @@ -1,17 +1,17 @@ from __future__ import annotations -from collections.abc import Iterable, Iterator +from collections.abc import Callable, Iterable, Iterator from functools import lru_cache -from typing import TYPE_CHECKING, Callable, TypeVar, Union, overload +from typing import TYPE_CHECKING, TypeVar, overload import jaraco.text as text from packaging.requirements import Requirement if TYPE_CHECKING: - from typing_extensions import TypeAlias + from typing import TypeAlias _T = TypeVar("_T") -_StrOrIter: TypeAlias = Union[str, Iterable[str]] +_StrOrIter: TypeAlias = str | Iterable[str] parse_req: Callable[[str], Requirement] = lru_cache()(Requirement) diff --git a/setuptools/_shutil.py b/setuptools/_shutil.py index 660459a110..b9a514efcc 100644 --- a/setuptools/_shutil.py +++ b/setuptools/_shutil.py @@ -2,7 +2,8 @@ import os import stat -from typing import Callable, TypeVar +from collections.abc import Callable +from typing import TypeVar from .compat import py311 diff --git a/setuptools/build_meta.py b/setuptools/build_meta.py index 1d93b6193b..c80f53321c 100644 --- a/setuptools/build_meta.py +++ b/setuptools/build_meta.py @@ -39,7 +39,7 @@ import warnings from collections.abc import Iterable, Iterator, Mapping from pathlib import Path -from typing import TYPE_CHECKING, NoReturn, Union +from typing import TYPE_CHECKING, NoReturn import setuptools @@ -52,7 +52,7 @@ from distutils.util import strtobool if TYPE_CHECKING: - from typing_extensions import TypeAlias + from typing import TypeAlias __all__ = [ 'get_requires_for_build_sdist', @@ -144,7 +144,7 @@ def suppress_known_deprecation(): yield -_ConfigSettings: TypeAlias = Union[Mapping[str, Union[str, list[str], None]], None] +_ConfigSettings: TypeAlias = Mapping[str, str | list[str] | None] | None """ Currently the user can run:: diff --git a/setuptools/command/bdist_egg.py b/setuptools/command/bdist_egg.py index dbabeccb9d..02c94faff0 100644 --- a/setuptools/command/bdist_egg.py +++ b/setuptools/command/bdist_egg.py @@ -23,8 +23,9 @@ from distutils.dir_util import mkpath, remove_tree if TYPE_CHECKING: + from typing import TypeAlias + from _typeshed import GenericPath - from typing_extensions import TypeAlias # Same as zipfile._ZipFileMode from typeshed _ZipFileMode: TypeAlias = Literal["r", "w", "x", "a"] diff --git a/setuptools/compat/py311.py b/setuptools/compat/py311.py index 52b58af32a..2aec70b8cc 100644 --- a/setuptools/compat/py311.py +++ b/setuptools/compat/py311.py @@ -2,11 +2,13 @@ import shutil import sys -from typing import TYPE_CHECKING, Any, Callable +from collections.abc import Callable +from typing import TYPE_CHECKING, Any if TYPE_CHECKING: + from typing import TypeAlias + from _typeshed import ExcInfo, StrOrBytesPath - from typing_extensions import TypeAlias # Same as shutil._OnExcCallback from typeshed _OnExcCallback: TypeAlias = Callable[[Callable[..., Any], str, BaseException], object] diff --git a/setuptools/config/__init__.py b/setuptools/config/__init__.py index fcc7d008d6..76754b0ced 100644 --- a/setuptools/config/__init__.py +++ b/setuptools/config/__init__.py @@ -2,8 +2,9 @@ ``setuptools.config.setupcfg`` """ +from collections.abc import Callable from functools import wraps -from typing import Callable, TypeVar, cast +from typing import TypeVar, cast from ..warnings import SetuptoolsDeprecationWarning from . import setupcfg diff --git a/setuptools/config/_apply_pyprojecttoml.py b/setuptools/config/_apply_pyprojecttoml.py index 4559193774..140969feee 100644 --- a/setuptools/config/_apply_pyprojecttoml.py +++ b/setuptools/config/_apply_pyprojecttoml.py @@ -12,13 +12,13 @@ import logging import os -from collections.abc import Mapping +from collections.abc import Callable, Mapping from email.headerregistry import Address from functools import partial, reduce from inspect import cleandoc from itertools import chain from types import MappingProxyType -from typing import TYPE_CHECKING, Any, Callable, TypeVar, Union +from typing import TYPE_CHECKING, Any, TypeVar from .. import _static from .._path import StrPath @@ -27,7 +27,7 @@ from ..warnings import SetuptoolsDeprecationWarning, SetuptoolsWarning if TYPE_CHECKING: - from typing_extensions import TypeAlias + from typing import TypeAlias from setuptools._importlib import metadata from setuptools.dist import Distribution @@ -36,8 +36,8 @@ EMPTY: Mapping = MappingProxyType({}) # Immutable dict-like -_ProjectReadmeValue: TypeAlias = Union[str, dict[str, str]] -_Correspondence: TypeAlias = Callable[["Distribution", Any, Union[StrPath, None]], None] +_ProjectReadmeValue: TypeAlias = str | dict[str, str] +_Correspondence: TypeAlias = Callable[["Distribution", Any, StrPath | None], None] _T = TypeVar("_T") _logger = logging.getLogger(__name__) diff --git a/setuptools/config/expand.py b/setuptools/config/expand.py index d9a2ded430..fd29ddd6db 100644 --- a/setuptools/config/expand.py +++ b/setuptools/config/expand.py @@ -25,14 +25,14 @@ import os import pathlib import sys -from collections.abc import Iterable, Iterator, Mapping +from collections.abc import Callable, Iterable, Iterator, Mapping from configparser import ConfigParser from glob import iglob from importlib.machinery import ModuleSpec, all_suffixes from itertools import chain from pathlib import Path from types import ModuleType, TracebackType -from typing import TYPE_CHECKING, Any, Callable, TypeVar +from typing import TYPE_CHECKING, Any, TypeVar from .. import _static from .._path import StrPath, same_path as _same_path diff --git a/setuptools/config/pyprojecttoml.py b/setuptools/config/pyprojecttoml.py index 3dfc46dd97..9e2b16c2e5 100644 --- a/setuptools/config/pyprojecttoml.py +++ b/setuptools/config/pyprojecttoml.py @@ -13,11 +13,11 @@ import logging import os -from collections.abc import Mapping +from collections.abc import Callable, Mapping from contextlib import contextmanager from functools import partial from types import TracebackType -from typing import TYPE_CHECKING, Any, Callable +from typing import TYPE_CHECKING, Any from .._path import StrPath from ..errors import FileError, InvalidConfigError diff --git a/setuptools/config/setupcfg.py b/setuptools/config/setupcfg.py index 121a0febda..96aeb9a3c5 100644 --- a/setuptools/config/setupcfg.py +++ b/setuptools/config/setupcfg.py @@ -16,9 +16,9 @@ import os from abc import abstractmethod from collections import defaultdict -from collections.abc import Iterable, Iterator +from collections.abc import Callable, Iterable, Iterator from functools import partial, wraps -from typing import TYPE_CHECKING, Any, Callable, ClassVar, Generic, TypeVar, cast +from typing import TYPE_CHECKING, Any, ClassVar, Generic, TypeVar, cast from packaging.markers import default_environment as marker_env from packaging.requirements import InvalidRequirement, Requirement @@ -31,7 +31,7 @@ from . import expand if TYPE_CHECKING: - from typing_extensions import TypeAlias + from typing import TypeAlias from setuptools.dist import Distribution diff --git a/setuptools/dist.py b/setuptools/dist.py index a224b3ee44..e600404198 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -10,7 +10,7 @@ from collections.abc import Iterable, Iterator, MutableMapping, Sequence from glob import glob from pathlib import Path -from typing import TYPE_CHECKING, Any, Union +from typing import TYPE_CHECKING, Any from more_itertools import partition, unique_everseen from packaging.markers import InvalidMarker, Marker @@ -44,7 +44,7 @@ from distutils.util import strtobool if TYPE_CHECKING: - from typing_extensions import TypeAlias + from typing import TypeAlias __all__ = ['Distribution'] @@ -59,10 +59,10 @@ - not imply a nested type (like `dict`) for use with `isinstance`. """ -_Sequence: TypeAlias = Union[tuple[str, ...], list[str]] +_Sequence: TypeAlias = tuple[str, ...] | list[str] # This is how stringifying _Sequence would look in Python 3.10 _sequence_type_repr = "tuple[str, ...] | list[str]" -_OrderedStrSequence: TypeAlias = Union[str, dict[str, Any], Sequence[str]] +_OrderedStrSequence: TypeAlias = str | dict[str, Any] | Sequence[str] """ :meta private: Avoid single-use iterable. Disallow sets. diff --git a/setuptools/tests/test_build_meta.py b/setuptools/tests/test_build_meta.py index 2cd0a0a8ed..8237bf64a5 100644 --- a/setuptools/tests/test_build_meta.py +++ b/setuptools/tests/test_build_meta.py @@ -7,9 +7,10 @@ import sys import tarfile import warnings +from collections.abc import Callable from concurrent import futures from pathlib import Path -from typing import Any, Callable +from typing import Any from zipfile import ZipFile import pytest diff --git a/setuptools/warnings.py b/setuptools/warnings.py index 96467787c2..97f6971cf7 100644 --- a/setuptools/warnings.py +++ b/setuptools/warnings.py @@ -15,7 +15,7 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: - from typing_extensions import TypeAlias + from typing import TypeAlias _DueDate: TypeAlias = tuple[int, int, int] # time tuple _INDENT = 8 * " " From 19797238f58143cc29c18546e95a13d7058b4ec5 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 13 Apr 2026 04:36:15 -0400 Subject: [PATCH 12/14] Add news fragment. --- newsfragments/+0af71c41.feature.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/+0af71c41.feature.rst diff --git a/newsfragments/+0af71c41.feature.rst b/newsfragments/+0af71c41.feature.rst new file mode 100644 index 0000000000..d8c8faf72f --- /dev/null +++ b/newsfragments/+0af71c41.feature.rst @@ -0,0 +1 @@ +Require Python 3.10 or later. From 54f06a6724f585bebf2dfa69f19764bccf68e16f Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 13 Apr 2026 04:48:15 -0400 Subject: [PATCH 13/14] Bump python versions in pyright. --- .github/workflows/pyright.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pyright.yml b/.github/workflows/pyright.yml index 42d0164ff1..785bd2f198 100644 --- a/.github/workflows/pyright.yml +++ b/.github/workflows/pyright.yml @@ -42,8 +42,8 @@ jobs: # https://blog.jaraco.com/efficient-use-of-ci-resources/ matrix: python: - - "3.9" - - "3.13" + - "3.10" + - "3.14" platform: - ubuntu-latest runs-on: ${{ matrix.platform }} From 7e9b5330ddf7dead38574abfa84f1a8cac103935 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 13 Apr 2026 04:44:59 -0400 Subject: [PATCH 14/14] Try cygwin on Python 3.12 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e21b4c25b3..5c6cc311fd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -187,7 +187,7 @@ jobs: strategy: matrix: python: - - 39 + - 312 platform: - windows-latest runs-on: ${{ matrix.platform }}