[build-system]
-requires = ["hatchling>=1.21.0"]
-build-backend = "hatchling.build"
-# You can also use "uv" instead
-#requires = ["uv_build>=0.9.1,<0.10.0"]
-#build-backend = "uv_build"
+requires = ["uv_build>=0.9.21,<0.10.0"]
+build-backend = "uv_build"
[project]
name = "dnspython"
[project.optional-dependencies]
dev = [
- "black>=25.1.0",
+ "black>=25.12.0",
"coverage>=7.0",
- "hypercorn>=0.17.0",
- "pyright>=1.1.405",
- "pytest>=8.4",
- "pytest-cov>=6.2.0",
+ "hypercorn>=0.18.0",
+ "pyright>=1.1.407",
+ "pytest>=9.0",
+ "pytest-cov>=7.0",
"quart-trio>=0.12.0",
- "ruff>=0.13.2",
+ "ruff>=0.14.0",
"sphinx>=8.2.0 ; python_version >= '3.11'",
"sphinx-rtd-theme>=3.0.0 ; python_full_version >= '3.11'",
- "twine>=6.1.0",
- "ty>=0.0.1a32",
+ "ty>=0.0.8",
"wheel>=0.45.0",
]
-dnssec = ["cryptography>=45"]
-doh = ["httpcore>=1.0.0", "httpx>=0.28.0", "h2>=4.2.0"]
-doq = ["aioquic>=1.2.0"]
-idna = ["idna>=3.10"]
+dnssec = ["cryptography>=46"]
+doh = ["httpcore>=1.0.0", "httpx>=0.28.0", "h2>=4.3.0"]
+doq = ["aioquic>=1.3.0"]
+idna = ["idna>=3.11"]
trio = ["trio>=0.30"]
wmi = ["wmi>=1.5.1; platform_system=='Windows'"]
documentation = "https://dnspython.readthedocs.io/en/stable/"
issues = "https://github.com/rthalley/dnspython/issues"
-[tool.hatch.build.targets.sdist]
-include = [
- "/dns/*.py",
- "/dns/**/*.py",
- "/dns/py.typed",
- "/examples/*.txt",
- "/examples/*.py",
- "/tests/*.txt",
- "/tests/*.py",
- "/tests/*.good",
- "/tests/example",
- "/tests/query",
- "/tests/*.pickle",
- "/tests/*.text",
- "/tests/*.generic",
- "/tests/tls/*.crt",
- "/tests/tls/*.pem",
- "/util/**",
-]
-
-[tool.hatch.build.targets.wheel]
-include = ["dns/*.py", "dns/**/*.py", "dns/py.typed"]
-
-[tool.hatch.envs.default]
-features = ["trio", "dnssec", "idna", "doh", "doq", "dev"]
-
[tool.uv.build-backend]
module-name = "dns"
module-root = ""