@@ -16,7 +16,7 @@ license = "MPL-2.0"
1616authors = [
1717 { name = " Trenton H" , email = " rda0128ou@mozmail.com" },
1818]
19- requires-python = " >=3.8 "
19+ requires-python = " >=3.9 "
2020classifiers = [
2121 " Development Status :: 4 - Beta" ,
2222 " Environment :: Web Environment" ,
@@ -25,18 +25,17 @@ classifiers = [
2525 " Operating System :: OS Independent" ,
2626 " Programming Language :: Python" ,
2727 " Programming Language :: Python :: 3 :: Only" ,
28- " Programming Language :: Python :: 3.8" ,
2928 " Programming Language :: Python :: 3.9" ,
3029 " Programming Language :: Python :: 3.10" ,
3130 " Programming Language :: Python :: 3.11" ,
3231 " Programming Language :: Python :: 3.12" ,
32+ " Programming Language :: Python :: 3.13" ,
3333 " Programming Language :: Python :: Implementation :: CPython" ,
3434 " Programming Language :: Python :: Implementation :: PyPy" ,
3535]
3636dynamic = [ " version" ]
3737dependencies = [
38- " httpx[http2]~=0.24; python_version<'3.9'" ,
39- " httpx[http2]~=0.27; python_version>='3.9'" ,
38+ " httpx[http2]~=0.28" ,
4039 " typing-extensions; python_version<'3.11'" ,
4140]
4241
@@ -64,7 +63,7 @@ installer = "uv"
6463
6564[tool .hatch .envs .hatch-static-analysis ]
6665# https://hatch.pypa.io/latest/config/internal/static-analysis/
67- dependencies = [ " ruff ~= 0.6 " ]
66+ dependencies = [ " ruff ~= 0.8 " ]
6867config-path = " none"
6968
7069[tool .hatch .envs .hatch-test ]
@@ -74,7 +73,6 @@ randomize = true
7473dependencies = [
7574 " coverage-enable-subprocess == 1.0" ,
7675 " coverage[toml] ~= 7.6" ,
77- " pytest < 8.0; python_version < '3.9'" ,
7876 " pytest ~= 8.3; python_version >= '3.9'" ,
7977 " pytest-mock ~= 3.14" ,
8078 " pytest-randomly ~= 3.15" ,
@@ -83,10 +81,10 @@ dependencies = [
8381]
8482extra-dependencies = [
8583 " pytest-sugar" ,
86- " pytest-httpx == 0.30.0; python_version >= '3.9'" ,
87- " pytest-httpx ~= 0.22; python_version < '3.9'" ,
84+ " pytest-httpx ~= 0.35" ,
8885 " pikepdf" ,
8986 " python-magic" ,
87+ " pytest-docker ~= 3.1" ,
9088]
9189extra-args = [ " --maxprocesses=8" , " --pythonwarnings=all" ]
9290
@@ -109,19 +107,19 @@ cov-report = [
109107]
110108
111109[[tool .hatch .envs .hatch-test .matrix ]]
112- python = [ " 3.8 " , " 3.9 " , " 3.10 " , " 3.11 " , " 3.12 " , " pypy3.9" , " pypy3.10" ]
110+ python = [ " 3.9 " , " 3.10 " , " 3.11 " , " 3.12 " , " 3.13 " , " pypy3.9" , " pypy3.10" ]
113111
114112#
115113# Custom Environments
116114#
117115[tool .hatch .envs .typing ]
118116detached = true
119117dependencies = [
120- " mypy ~= 1.11 " ,
118+ " mypy ~= 1.13 " ,
121119 " httpx" ,
122120 " pytest" ,
123121 " pikepdf" ,
124- " pytest-httpx == 0.30.0 " ,
122+ " pytest-httpx ~= 0.35 " ,
125123]
126124
127125[tool .hatch .envs .typing .scripts ]
@@ -168,7 +166,7 @@ deploy = [
168166#
169167
170168[tool .ruff ]
171- target-version = " py38 "
169+ target-version = " py39 "
172170line-length = 120
173171
174172# https://docs.astral.sh/ruff/settings/
@@ -244,13 +242,17 @@ lint.ignore = [
244242]
245243# Tests can use magic values, assertions, and relative imports
246244lint.per-file-ignores."tests/**/*" = [ " PLR2004" , " S101" , " TID252" ]
245+ lint.per-file-ignores."tests/utils.py" = [ " S603" ]
247246# No relative imports
248247lint.flake8-tidy-imports.ban-relative-imports = " all"
249248# One import per line
250249lint.isort.force-single-line = true
251250# Recognize us please
252251lint.isort.known-first-party = [ " gotenberg_client" ]
253252
253+ [tool .pyproject-fmt ]
254+ max_supported_python = " 3.13"
255+
254256[tool .pytest .ini_options ]
255257minversion = " 7.0"
256258testpaths = [ " tests" ]
0 commit comments