1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
[build-system]
requires = ["hatchling>=1.21.0"]
build-backend = "hatchling.build"
[project]
name = "dnspython"
description = "DNS toolkit"
authors = [{ name = "Bob Halley", email = "halley@dnspython.org" }]
license = { text = "ISC" }
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: ISC License (ISCL)",
"Operating System :: POSIX",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python",
"Topic :: Internet :: Name Service (DNS)",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
readme = "README.md"
requires-python = ">=3.10"
dependencies = []
dynamic = ["version"]
[project.optional-dependencies]
dev = [
"black>=25.1.0",
"coverage>=7.0",
"hypercorn>=0.17.0",
"flake8>=7",
"mypy>=1.17",
"pylint>=3",
"pytest>=8.4",
"pytest-cov>=6.2.0",
"quart-trio>=0.12.0",
"sphinx>=8.2.0",
"sphinx-rtd-theme>=3.0.0",
"twine>=6.1.0",
"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"]
trio = ["trio>=0.30"]
wmi = ["wmi>=1.5.1; platform_system=='Windows'"]
[project.urls]
homepage = "https://www.dnspython.org"
repository = "https://github.com/rthalley/dnspython.git"
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"]
#installer = "uv"
[tool.hatch.version]
source = "code"
path = "dns/version.py"
expression = "version"
[tool.ruff]
lint.select = [
# pycodestyle
"E",
# Pyflakes
"F",
# pyupgrade
"UP",
# flake8-bugbear
"B",
# isort
"I",
]
lint.ignore = [
"E501",
"E741",
"I001",
"B904",
"B011",
"UP006",
"UP035",
]
lint.exclude = ["tests/*"]
[tool.isort]
profile = "black"
[[tool.mypy.overrides]]
module = "pythoncom"
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "wmi"
ignore_missing_imports = true
[tool.pyright]
reportUnsupportedDunderAll = false
exclude = ["dns/win32util.py", "examples/*.py", "tests/*.py"]
|