@@ -8,50 +8,53 @@ authors = [
88 { name = " Kiwix" , email = " dev@kiwix.org" },
99]
1010keywords = [" oci" , " image" , " docker" , " kiwix" ]
11- requires-python = " >=3.8 "
11+ requires-python = " >=3.10 "
1212description = " Export docker image into tar file directly from registry API"
1313readme = " README.md"
1414license = {text = " GPL-3.0-or-later" }
1515classifiers = [
1616 " Programming Language :: Python :: 3" ,
17- " Programming Language :: Python :: 3.8" ,
18- " Programming Language :: Python :: 3.9" ,
1917 " Programming Language :: Python :: 3.10" ,
2018 " Programming Language :: Python :: 3.11" ,
19+ " Programming Language :: Python :: 3.12" ,
20+ " Programming Language :: Python :: 3.13" ,
21+ " Programming Language :: Python :: 3.14" ,
2122 " License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)" ,
2223]
2324dependencies = [
2425 " requests>=2,<3" ,
25- " pathvalidate==3.2.0" ,
26+ " types-requests>=2,<3" ,
27+ " pathvalidate>=3.2.0" ,
2628]
2729dynamic = [" version" ]
2830
2931[project .optional-dependencies ]
3032scripts = [
31- " invoke==2.2.0 " ,
33+ " invoke==2.2.1 " ,
3234]
3335lint = [
34- " black==24 .1.1 " ,
35- " ruff==0.1.15 " ,
36+ " black==26 .1.0 " ,
37+ " ruff==0.15.4 " ,
3638]
3739check = [
38- " pyright==1.1.349 " ,
40+ " pyright==1.1.408 " ,
3941]
4042test = [
41- " pytest==8 .0.0 " ,
42- " coverage==7.4.1 " ,
43+ " pytest==9 .0.2 " ,
44+ " coverage==7.13.4 " ,
4345]
4446dev = [
45- " pre-commit==3.6.0 " ,
46- " debugpy==1.6.7 " ,
47+ " pre-commit==4.5.1 " ,
48+ " debugpy==1.8.20 " ,
4749 " docker-export[scripts]" ,
4850 " docker-export[lint]" ,
4951 " docker-export[test]" ,
5052 " docker-export[check]" ,
5153 " docker-export[visual]" ,
5254]
5355visual = [
54- " humanfriendly>=8.0" ,
56+ " humanfriendly>=10.0" ,
57+ " types-humanfriendly>=10" ,
5558 " progressbar2>=4.0"
5659]
5760
@@ -71,7 +74,7 @@ exclude = [
7174]
7275
7376[[tool .hatch .envs .default .matrix ]]
74- python = [" 3.8 " ]
77+ python = [" 3.10 " ]
7578
7679[tool .hatch .envs .default ]
7780features = [" dev" ]
@@ -80,7 +83,7 @@ features = ["dev"]
8083features = [" scripts" , " test" , " visual" ]
8184
8285[[tool .hatch .envs .test .matrix ]]
83- python = [" 3.8 " , " 3.9 " , " 3.10 " , " 3.11 " ]
86+ python = [" 3.10 " , " 3.11 " , " 3.12 " , " 3.13 " , " 3.14 " ]
8487
8588[tool .hatch .envs .test .scripts ]
8689run = " inv test --args '{args}'"
@@ -94,10 +97,8 @@ skip-install = false
9497features = [" scripts" , " lint" , " visual" ]
9598
9699[tool .hatch .envs .lint .scripts ]
97- black = " inv lint-black --args '{args}'"
98100ruff = " inv lint-ruff --args '{args}'"
99101all = " inv lintall --args '{args}'"
100- fix-black = " inv fix-black --args '{args}'"
101102fix-ruff = " inv fix-ruff --args '{args}'"
102103fixall = " inv fixall --args '{args}'"
103104
@@ -108,14 +109,13 @@ features = ["scripts", "check", "test", "visual"]
108109pyright = " inv check-pyright --args '{args}'"
109110all = " inv checkall --args '{args}'"
110111
111- [tool .black ]
112- line-length = 88
113- target-version = [' py38' ]
114112
115113[tool .ruff ]
116- target-version = " py38 "
114+ target-version = " py310 "
117115line-length = 88
118116src = [" src" ]
117+
118+ [tool .ruff .lint ]
119119select = [
120120 " A" , # flake8-builtins
121121 # "ANN", # flake8-annotations
@@ -194,17 +194,13 @@ unfixable = [
194194 " F401" ,
195195]
196196
197- [tool .ruff .isort ]
197+ [tool .ruff .lint . isort ]
198198known-first-party = [" docker_export" ]
199199
200- [tool .ruff .flake8-bugbear ]
201- # add exceptions to B008 for fastapi.
202- extend-immutable-calls = [" fastapi.Depends" , " fastapi.Query" ]
203-
204- [tool .ruff .flake8-tidy-imports ]
200+ [tool .ruff .lint .flake8-tidy-imports ]
205201ban-relative-imports = " all"
206202
207- [tool .ruff .per-file-ignores ]
203+ [tool .ruff .lint . per-file-ignores ]
208204# Tests can use magic values, assertions, and relative imports
209205"tests/**/*" = [" PLR2004" , " S101" , " TID252" ]
210206
@@ -236,6 +232,6 @@ exclude_lines = [
236232include = [" src" , " tests" , " tasks.py" ]
237233exclude = [" .env/**" , " .venv/**" ]
238234extraPaths = [" src" ]
239- pythonVersion = " 3.8 "
235+ pythonVersion = " 3.10 "
240236typeCheckingMode =" strict"
241237reportImplicitStringConcatenation =false
0 commit comments