File: pyproject.toml

package info (click to toggle)
dnspython 2.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,556 kB
  • sloc: python: 37,194; sh: 7; makefile: 4
file content (129 lines) | stat: -rw-r--r-- 2,997 bytes parent folder | download
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"]