Skip to content

Commit 250c813

Browse files
hugovknicoddemus
andauthored
Add support for Python 3.13-3.14 and drop EOL 3.8-3.9 (#380)
--------- Co-authored-by: Bruno Oliveira <[email protected]>
1 parent cfac692 commit 250c813

File tree

16 files changed

+33
-28
lines changed

16 files changed

+33
-28
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
fail-fast: false
3535
matrix:
3636
os: [ windows-latest, ubuntu-latest ]
37-
python: [ "3.8", "3.10", "3.11", "3.12", "pypy-3.11" ]
37+
python: [ "3.10", "3.11", "3.12", "3.13", "3.14", "pypy-3.11" ]
3838

3939
steps:
4040
- uses: actions/checkout@v5

.pre-commit-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@ repos:
33
rev: v2.4.1
44
hooks:
55
- id: codespell
6-
- repo: https://github.com/asottile/blacken-docs
6+
- repo: https://github.com/adamchainz/blacken-docs
77
rev: 1.20.0
88
hooks:
99
- id: blacken-docs
10-
additional_dependencies: [black==22.12.0]
10+
additional_dependencies: [black==25.11.0]
1111
- repo: https://github.com/pre-commit/pre-commit-hooks
1212
rev: v6.0.0
1313
hooks:
1414
- id: check-yaml
1515
- repo: https://github.com/astral-sh/ruff-pre-commit
1616
rev: v0.14.4
1717
hooks:
18-
- id: ruff
18+
- id: ruff-check
1919
args: [ --fix ]
2020
exclude: "^doc/"
2121
- id: ruff-format

CHANGELOG.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2.2.0 (UNRELEASED)
2+
------------------
3+
4+
* `#380 <https://github.com/pytest-dev/execnet/pull/380>`__: Add support for Python 3.13 and 3.14, and drop EOL 3.8 and 3.9.
5+
16
2.1.2 (2025-11-11)
27
------------------
38

doc/install.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Info in a nutshell
22
====================
33

4-
**Pythons**: 3.8+, PyPy 3
4+
**Pythons**: 3.10+, PyPy 3
55

66
**Operating systems**: Linux, Windows, OSX, Unix
77

pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dynamic = ["version"]
1111
description = "execnet: rapid multi-Python deployment"
1212
readme = {"file" = "README.rst", "content-type" = "text/x-rst"}
1313
license = "MIT"
14-
requires-python = ">=3.8"
14+
requires-python = ">=3.10"
1515
authors = [
1616
{ name = "holger krekel and others" },
1717
]
@@ -22,11 +22,11 @@ classifiers = [
2222
"Operating System :: MacOS :: MacOS X",
2323
"Operating System :: Microsoft :: Windows",
2424
"Operating System :: POSIX",
25-
"Programming Language :: Python :: 3.8",
26-
"Programming Language :: Python :: 3.9",
2725
"Programming Language :: Python :: 3.10",
2826
"Programming Language :: Python :: 3.11",
2927
"Programming Language :: Python :: 3.12",
28+
"Programming Language :: Python :: 3.13",
29+
"Programming Language :: Python :: 3.14",
3030
"Programming Language :: Python :: Implementation :: CPython",
3131
"Programming Language :: Python :: Implementation :: PyPy",
3232
"Topic :: Software Development :: Libraries",
@@ -96,7 +96,7 @@ include = [
9696
]
9797

9898
[tool.mypy]
99-
python_version = "3.8"
99+
python_version = "3.10"
100100
mypy_path = ["src"]
101101
files = ["src", "testing"]
102102
strict = true

src/execnet/gateway.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
import linecache
1010
import textwrap
1111
import types
12+
from collections.abc import Callable
1213
from typing import TYPE_CHECKING
1314
from typing import Any
14-
from typing import Callable
1515

1616
from . import gateway_base
1717
from .gateway_base import IO

src/execnet/gateway_base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
import traceback
1919
import weakref
2020
from _thread import interrupt_main
21+
from collections.abc import Callable
22+
from collections.abc import Iterator
23+
from collections.abc import MutableSet
2124
from io import BytesIO
2225
from typing import Any
23-
from typing import Callable
24-
from typing import Iterator
2526
from typing import Literal
26-
from typing import MutableSet
2727
from typing import Protocol
2828
from typing import cast
2929
from typing import overload

src/execnet/multi.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99
import atexit
1010
import types
11+
from collections.abc import Callable
12+
from collections.abc import Iterable
13+
from collections.abc import Iterator
14+
from collections.abc import Sequence
1115
from functools import partial
1216
from threading import Lock
1317
from typing import TYPE_CHECKING
1418
from typing import Any
15-
from typing import Callable
16-
from typing import Iterable
17-
from typing import Iterator
1819
from typing import Literal
19-
from typing import Sequence
2020
from typing import overload
2121

2222
from . import gateway_bootstrap

src/execnet/rsync.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
import os
1010
import stat
11+
from collections.abc import Callable
1112
from hashlib import md5
1213
from queue import Queue
13-
from typing import Callable
1414
from typing import Literal
1515

1616
import execnet.rsync_remote

testing/conftest.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import shutil
44
import sys
5+
from collections.abc import Callable
6+
from collections.abc import Generator
7+
from collections.abc import Iterator
58
from functools import lru_cache
6-
from typing import Callable
7-
from typing import Generator
8-
from typing import Iterator
99

1010
import pytest
1111

0 commit comments

Comments
 (0)