Skip to content

Commit 632f98b

Browse files
committed
Drop support for Python 3.10 and 3.11
Necessary to keep up with typing changes in Numpy Not strictly required, but Python 3.10 is reaching EOL anyways
1 parent 00dcb1d commit 632f98b

6 files changed

Lines changed: 14 additions & 10 deletions

File tree

.github/workflows/python-package.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,17 +109,17 @@ jobs:
109109
strategy:
110110
matrix:
111111
os: ["ubuntu-latest", "windows-latest"]
112-
python-version: ["3.10", "3.14t", "pypy-3.10"]
112+
python-version: ["3.12", "3.14t", "pypy-3.12"]
113113
architecture: ["x64"]
114114
include:
115115
- os: "windows-latest"
116-
python-version: "3.10"
116+
python-version: "3.12"
117117
architecture: "x86"
118118
- os: "windows-latest"
119119
python-version: "3.14t"
120120
architecture: "x86"
121121
- os: "windows-11-arm"
122-
python-version: "3.11"
122+
python-version: "3.12"
123123
architecture: "arm64"
124124
- os: "windows-11-arm"
125125
python-version: "3.14t"
@@ -243,7 +243,7 @@ jobs:
243243
strategy:
244244
matrix:
245245
arch: ["x86_64", "aarch64"]
246-
build: ["cp310-manylinux*", "pp311-manylinux*", "cp314t-manylinux*"]
246+
build: ["cp312-manylinux*", "pp312-manylinux*", "cp314t-manylinux*"]
247247
env:
248248
BUILD_DESC: ""
249249
steps:
@@ -301,7 +301,7 @@ jobs:
301301
strategy:
302302
fail-fast: true
303303
matrix:
304-
python: ["cp310-*_universal2", "cp314t-*_universal2", "pp311-*"]
304+
python: ["cp312-*_universal2", "cp314t-*_universal2", "pp312-*"]
305305
env:
306306
PYTHON_DESC: ""
307307
steps:

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ This project adheres to [Semantic Versioning](https://semver.org/) since version
66

77
## [Unreleased]
88

9+
### Removed
10+
11+
- Support dropped for Python 3.10 and 3.11.
12+
913
## [21.2.1] - 2026-06-04
1014

1115
### Deployment

build_libtcod.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
if TYPE_CHECKING:
3030
from collections.abc import Iterable, Iterator
3131

32-
Py_LIMITED_API: None | int = 0x03100000
32+
Py_LIMITED_API: None | int = 0x03120000
3333

3434
HEADER_PARSE_PATHS = ("tcod/", "libtcod/src/libtcod/")
3535
HEADER_PARSE_EXCLUDES = ("gl2_ext_.h", "renderer_gl_internal.h", "event.h")

docs/tcod/event.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Getting events
1515
The primary way to capture events is with the :any:`tcod.event.get` and :any:`tcod.event.wait` functions.
1616
These functions return events in a loop until the internal event queue is empty.
1717
Use :func:`isinstance`, :any:`tcod.event.EventDispatch`, or `match statements <https://docs.python.org/3/tutorial/controlflow.html#match-statements>`_
18-
(introduced in Python 3.10) to determine which event was returned.
18+
to determine which event was returned.
1919

2020
.. autofunction:: tcod.event.get
2121
.. autofunction:: tcod.event.wait

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def get_package_data() -> list[str]:
4242

4343
options = {
4444
"bdist_wheel": {
45-
"py_limited_api": "cp310",
45+
"py_limited_api": "cp312",
4646
}
4747
}
4848
if "free-threading build" in sys.version:

tcod/event.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
elif isinstance(event, tcod.event.MouseMotion):
4242
print(f"{event.integer_position=}, {event.integer_motion=}") # Current mouse tile and tile motion
4343
44-
Python 3.10 introduced `match statements <https://docs.python.org/3/tutorial/controlflow.html#match-statements>`_
45-
which can be used to dispatch events more gracefully:
44+
`Match statements <https://docs.python.org/3/tutorial/controlflow.html#match-statements>`_
45+
can be used to dispatch events more gracefully:
4646
4747
Example::
4848

0 commit comments

Comments
 (0)