Skip to content

Commit 89f9199

Browse files
committed
Add support for Python 3.14 and upgrade dependencies
1 parent 1004cf3 commit 89f9199

File tree

4 files changed

+31
-30
lines changed

4 files changed

+31
-30
lines changed

.github/workflows/QA.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Set up Python
1515
uses: actions/setup-python@v5
1616
with:
17-
python-version: "3.13"
17+
python-version: "3.14"
1818
architecture: x64
1919

2020
- name: Install dependencies (and project)

.github/workflows/Tests.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
matrix:
1515
os: [macos-13, windows-2022, ubuntu-24.04]
16-
python: ["3.9", "3.10", "3.11", "3.12", "3.13"]
16+
python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
1717

1818
steps:
1919
- uses: actions/checkout@v4
@@ -38,7 +38,7 @@ jobs:
3838
run: inv coverage --args "-vvv"
3939

4040
- name: Upload coverage report to codecov
41-
if: matrix.os == 'ubuntu-24.04' && matrix.python == '3.13'
41+
if: matrix.os == 'ubuntu-24.04' && matrix.python == '3.14'
4242
uses: codecov/codecov-action@v4
4343
with:
4444
fail_ci_if_error: true

pyproject.toml

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
[build-system]
22
requires = [
3-
"setuptools == 74.1.1",
4-
"wheel == 0.44.0",
5-
"cython == 3.0.11",
3+
"setuptools == 80.9.0",
4+
"wheel == 0.45.1",
5+
"cython == 3.1.6",
66
# https://github.com/pypa/cibuildwheel/blob/v2.22/cibuildwheel/resources/constraints.txt
7-
"delocate == 0.12.0 ; platform_system=='Windows'",
7+
"delocate == 0.13.0 ; platform_system=='Windows'",
88
]
99
build-backend = "setuptools.build_meta"
1010

1111
[project]
1212
name = "libzim"
1313
version = "3.7.1-dev0"
14-
requires-python = ">=3.9,<3.14"
14+
requires-python = ">=3.9,<3.15"
1515
description = "A python-facing API for creating and interacting with ZIM files"
1616
authors = [
1717
{name = "openZIM", email = "[email protected]"},
@@ -35,6 +35,7 @@ classifiers = [
3535
"Programming Language :: Python :: 3.11",
3636
"Programming Language :: Python :: 3.12",
3737
"Programming Language :: Python :: 3.13",
38+
"Programming Language :: Python :: 3.14",
3839
"Typing :: Stubs Only",
3940
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
4041
"Operating System :: MacOS",
@@ -50,43 +51,43 @@ scripts = [
5051
"invoke==2.2.0",
5152
]
5253
lint = [
53-
"black==25.1.0",
54-
"ruff==0.9.5",
54+
"black==25.9.0",
55+
"ruff==0.14.3",
5556
"libzim",
5657
"libzim[build]",
5758
]
5859
check = [
59-
"pyright==1.1.393",
60+
"pyright==1.1.407",
6061
"libzim",
6162
"libzim[build]",
6263
"libzim[test]",
6364
"types-setuptools",
6465
]
6566
test = [
66-
"pytest==8.3.4",
67-
"coverage==7.6.10",
67+
"pytest==8.4.2",
68+
"coverage==7.11.0",
6869
# for cython coverage plugin
6970
"libzim[build]",
7071
]
7172
build = [
72-
"setuptools == 75.8.0",
73+
"setuptools == 80.9.0",
7374
"wheel == 0.45.1",
74-
"cython == 3.0.11",
75-
"delocate == 0.12.0 ; platform_system=='Windows'",
75+
"cython == 3.1.6",
76+
"delocate == 0.13.0 ; platform_system=='Windows'",
7677
]
7778
docs = [
7879
"mkdocs==1.6.1",
79-
"mkdocstrings-python==1.14.5",
80-
"mkdocs-material==9.5.49",
81-
"pymdown-extensions==10.14",
80+
"mkdocstrings-python==1.18.2",
81+
"mkdocs-material==9.6.23",
82+
"pymdown-extensions==10.16.1",
8283
"mkdocs-gen-files==0.5.0",
83-
"mkdocs-literate-nav==0.6.1",
84-
"mkdocs-include-markdown-plugin==7.1.2",
85-
"griffe==1.5.6",
84+
"mkdocs-literate-nav==0.6.2",
85+
"mkdocs-include-markdown-plugin==7.2.0",
86+
"griffe==1.14.0",
8687
]
8788
dev = [
88-
"pre-commit==4.1.0",
89-
"ipython==8.32.0",
89+
"pre-commit==4.3.0",
90+
"ipython==9.6.0",
9091
"types-setuptools",
9192
"libzim[scripts]",
9293
"libzim[lint]",
@@ -168,7 +169,7 @@ features = ["scripts", "test"]
168169
PROFILE = "1"
169170

170171
[[tool.hatch.envs.test.matrix]]
171-
python = ["3.9", "3.10", "3.11", "3.12", "3.13"]
172+
python = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
172173

173174
[tool.hatch.envs.test.scripts]
174175
run = "inv test --args '{args}'"
@@ -206,10 +207,10 @@ all = "inv checkall --args '{args}'"
206207

207208
[tool.black]
208209
line-length = 88
209-
target-version = ['py312']
210+
target-version = ['py314']
210211

211212
[tool.ruff]
212-
target-version = "py312"
213+
target-version = "py314"
213214
line-length = 88
214215
src = ["src"]
215216

@@ -336,6 +337,6 @@ exclude_lines = [
336337
[tool.pyright]
337338
include = ["libzim", "tests", "tasks.py"]
338339
exclude = [".env/**", ".venv/**"]
339-
pythonVersion = "3.13"
340+
pythonVersion = "3.14"
340341
typeCheckingMode="basic"
341342
disableBytesTypePromotions = true

tests/test_libzim_version.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111
def test_version_print_version_with_stdout(capsys):
1212
print_versions()
1313
print("", file=sys.stdout, flush=True)
14-
stdout, stderr = capsys.readouterr()
14+
stdout, _stderr = capsys.readouterr()
1515
assert len(stdout) != 0
1616

1717

1818
def test_version_print_version_with_stderr(capsys):
1919
print_versions(sys.stderr)
2020
print("", file=sys.stderr, flush=True)
21-
stdout, stderr = capsys.readouterr()
21+
_stdout, stderr = capsys.readouterr()
2222
assert len(stderr) != 0
2323

2424

0 commit comments

Comments
 (0)