22# https://packaging.python.org/en/latest/specifications/pyproject-toml/
33
44[build-system ]
5- requires = [" setuptools" ]
5+ requires = [" setuptools>=77 " ]
66build-backend = " setuptools.build_meta"
77
88[project ]
@@ -18,7 +18,7 @@ maintainers = [
1818 { name = " Thomas Kriechbaumer" , email = " thomas@kriechbaumer.name" },
1919]
2020
21- requires-python = " >=3.9 "
21+ requires-python = " >=3.10 "
2222dependencies = [
2323 " h11>=0.16.0,<1" ,
2424]
@@ -31,11 +31,11 @@ classifiers = [
3131 " Programming Language :: Python" ,
3232 " Programming Language :: Python :: 3 :: Only" ,
3333 " Programming Language :: Python :: 3" ,
34- " Programming Language :: Python :: 3.9" ,
3534 " Programming Language :: Python :: 3.10" ,
3635 " Programming Language :: Python :: 3.11" ,
3736 " Programming Language :: Python :: 3.12" ,
3837 " Programming Language :: Python :: 3.13" ,
38+ " Programming Language :: Python :: 3.14" ,
3939 " Programming Language :: Python :: Implementation :: CPython" ,
4040 " Programming Language :: Python :: Implementation :: PyPy" ,
4141]
@@ -62,21 +62,21 @@ testing = [
6262]
6363
6464linting = [
65- " ruff>=0.8.0 ,<1" ,
66- " mypy>=1.13.0 ,<2" ,
67- " typing_extensions>=4.12.2 " ,
65+ " ruff>=0.14.4 ,<1" ,
66+ " mypy>=1.18.2 ,<2" ,
67+ " typing_extensions>=4.15.0 " ,
6868]
6969
7070packaging = [
71- " check-manifest==0.50 " ,
71+ " check-manifest==0.51 " ,
7272 " readme-renderer==44.0" ,
73- " build>=1.2.2 ,<2" ,
74- " twine>=6.1 .0,<7" ,
75- " wheel>=0.45.0 ,<1" ,
73+ " build>=1.3.0 ,<2" ,
74+ " twine>=6.2 .0,<7" ,
75+ " wheel>=0.45.1 ,<1" ,
7676]
7777
7878docs = [
79- " sphinx>=7.4.7 ,<9" ,
79+ " sphinx>=8.2.3 ,<9" ,
8080]
8181
8282[tool .setuptools .packages .find ]
@@ -107,6 +107,7 @@ lint.ignore = [
107107 " CPY" , # not required
108108 " D101" , # docs readability
109109 " D102" , # docs readability
110+ " D103" , # docs readability
110111 " D105" , # docs readability
111112 " D107" , # docs readability
112113 " D200" , # docs readability
@@ -135,6 +136,7 @@ lint.ignore = [
135136 " ARG001" , # readability
136137 " ARG002" , # readability
137138 " PLR0913" , # readability
139+ " FBT003" , # readability
138140]
139141lint.isort.required-imports = [ " from __future__ import annotations" ]
140142
@@ -143,6 +145,13 @@ warn_unused_configs = true
143145show_error_codes = true
144146strict = true
145147
148+ [[tool .mypy .overrides ]]
149+ module = [
150+ " h11" ,
151+ " h11._headers" ,
152+ ]
153+ ignore_missing_imports = true
154+
146155[tool .pytest .ini_options ]
147156testpaths = [ " tests" ]
148157
@@ -168,16 +177,16 @@ source = [
168177
169178[tool .tox ]
170179min_version = " 4.23.2"
171- env_list = [ " py39 " , " py310" , " py311" , " py312" , " py313" , " pypy3 " , " lint" , " docs" , " packaging" ]
180+ env_list = [ " py310" , " py311" , " py312" , " py313" , " py314 " , " pypy311 " , " lint" , " docs" , " packaging" ]
172181
173182[tool .tox .gh-actions ]
174183python = """
175- 3.9: py39, lint, docs, packaging
176- 3.10: py310
184+ 3.10: py310, lint, docs, packaging
177185 3.11: py311
178186 3.12: py312
179187 3.13: py313
180- pypy3: pypy3
188+ 3.14: py314
189+ pypy3.11: pypy311
181190"""
182191
183192[tool .tox .env_run_base ]
@@ -186,12 +195,6 @@ commands = [
186195 [" python" , " -bb" , " -m" , " pytest" , " --cov-report=xml" , " --cov-report=term" , " --cov=wsproto" , { replace = " posargs" , extend = true }]
187196]
188197
189- [tool .tox .env .pypy3 ]
190- # temporarily disable coverage testing on PyPy due to performance problems
191- commands = [
192- [" pytest" , { replace = " posargs" , extend = true }]
193- ]
194-
195198[tool .tox .env .lint ]
196199dependency_groups = [" linting" ]
197200commands = [
@@ -209,7 +212,7 @@ commands = [
209212]
210213
211214[tool .tox .env .packaging ]
212- base_python = [" python39 " ]
215+ base_python = [" python3.10 " ]
213216dependency_groups = [" packaging" ]
214217allowlist_externals = [" rm" ]
215218commands = [
@@ -220,7 +223,7 @@ commands = [
220223]
221224
222225[tool .tox .env .publish ]
223- base_python = [" python39 " ]
226+ base_python = [" python3.10 " ]
224227dependency_groups = [" packaging" ]
225228commands = [
226229 [" python" , " -m" , " build" , " --outdir" , " dist/" ],
0 commit comments