1
1
[build-system ]
2
2
# jinja2 is required to generate JS and Python rules at build time
3
3
# PyYAML is used to parse fuzzy rules and generate Python/JS code
4
- requires = [" hatchling" , " hatch-openzim>=0.2" , " jinja2==3.1.4 " , " PyYAML==6.0.2" ]
4
+ requires = [" hatchling" , " hatch-openzim>=0.2" , " jinja2==3.1.5 " , " PyYAML==6.0.2" ]
5
5
build-backend = " hatchling.build"
6
6
7
7
[project ]
8
8
name = " zimscraperlib"
9
- requires-python = " >=3.12 ,<3.13 "
9
+ requires-python = " >=3.13 ,<3.14 "
10
10
description = " Collection of python tools to re-use common code across scrapers"
11
11
readme = " README.md"
12
12
dependencies = [
@@ -51,13 +51,13 @@ scripts = [
51
51
# jinja2 is required to generate JS and Python rules at build time
52
52
# PyYAML is used to parse fuzzy rules and generate Python/JS code
53
53
# also update version in build-system above and in build_js.sh
54
- " jinja2==3.1.4 " ,
54
+ " jinja2==3.1.5 " ,
55
55
" PyYAML==6.0.2" ,
56
56
57
57
]
58
58
lint = [
59
59
" black==24.10.0" ,
60
- " ruff==0.8 .2" ,
60
+ " ruff==0.9 .2" ,
61
61
]
62
62
check = [
63
63
" pyright==1.1.391" ,
@@ -66,19 +66,19 @@ check = [
66
66
test = [
67
67
" pytest==8.3.4" ,
68
68
" pytest-mock==3.14.0" ,
69
- " coverage==7.6.9 " ,
69
+ " coverage==7.6.10 " ,
70
70
]
71
71
docs = [
72
72
" mkdocs==1.6.1" ,
73
73
" mkdocstrings[python]==0.27.0" ,
74
- " mkdocs-material==9.5.44 " ,
75
- " pymdown-extensions==10.12 " ,
74
+ " mkdocs-material==9.5.50 " ,
75
+ " pymdown-extensions==10.14 " ,
76
76
" mkdocs-gen-files==0.5.0" ,
77
77
" mkdocs-literate-nav==0.6.1" ,
78
78
" mkdocs-include-markdown-plugin==7.1.2" ,
79
79
]
80
80
dev = [
81
- " ipython==8.30 .0" ,
81
+ " ipython==8.31 .0" ,
82
82
" pre-commit==4.0.1" ,
83
83
" zimscraperlib[scripts]" ,
84
84
" zimscraperlib[lint]" ,
@@ -155,10 +155,10 @@ build = "inv docs-build --args '{args}'"
155
155
156
156
[tool .black ]
157
157
line-length = 88
158
- target-version = [' py312 ' ]
158
+ target-version = [' py313 ' ]
159
159
160
160
[tool .ruff ]
161
- target-version = " py312 "
161
+ target-version = " py313 "
162
162
line-length = 88
163
163
src = [" src" , " contrib" ]
164
164
@@ -221,6 +221,8 @@ select = [
221
221
" YTT" , # flake8-2020
222
222
]
223
223
ignore = [
224
+ # Allow to shadow Python standard-library modules
225
+ " A005" ,
224
226
# Allow non-abstract empty methods in abstract base classes
225
227
" B027" ,
226
228
# Remove flake8-errmsg since we consider they bloat the code and provide limited value
@@ -289,7 +291,7 @@ exclude_lines = [
289
291
include = [" contrib" , " src" , " tests" , " tasks.py" ]
290
292
exclude = [" .env/**" , " .venv/**" ]
291
293
extraPaths = [" src" ]
292
- pythonVersion = " 3.12 "
294
+ pythonVersion = " 3.13 "
293
295
typeCheckingMode =" strict"
294
296
disableBytesTypePromotions = true
295
297
0 commit comments