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
|
[build-system]
requires = [
"setuptools >= 77",
"setuptools_scm[toml] >= 6.4"
]
build-backend = "setuptools.build_meta"
[project]
name = "typeguard"
description = "Run-time type checker for Python"
readme = "README.rst"
authors = [{name = "Alex Grönholm", email = "alex.gronholm@nextday.fi"}]
license = "MIT"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
requires-python = ">= 3.9"
dependencies = [
"importlib_metadata >= 3.6; python_version < '3.10'",
"typing_extensions >= 4.14.0",
]
dynamic = ["version"]
[project.urls]
Documentation = "https://typeguard.readthedocs.io/en/latest/"
"Change log" = "https://typeguard.readthedocs.io/en/latest/versionhistory.html"
"Source code" = "https://github.com/agronholm/typeguard"
"Issue tracker" = "https://github.com/agronholm/typeguard/issues"
[project.entry-points]
pytest11 = {typeguard = "typeguard._pytest_plugin"}
[dependency-groups]
test = [
"coverage[toml] >= 7",
"pytest >= 7",
'mypy >= 1.2.0; python_implementation != "PyPy"',
]
doc = [
"packaging",
"Sphinx >= 7",
"sphinx-autodoc-typehints >= 1.2.0",
"sphinx-rtd-theme >= 1.3.0",
]
[tool.setuptools.package-data]
typeguard = ["py.typed"]
[tool.setuptools_scm]
version_scheme = "post-release"
local_scheme = "dirty-tag"
[tool.pytest.ini_options]
addopts = "--tb=short"
testpaths = "tests"
xfail_strict = true
filterwarnings = ["error"]
[tool.coverage.run]
source = ["typeguard"]
[tool.coverage.report]
show_missing = true
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:"
]
[tool.ruff]
src = ["src"]
[tool.ruff.lint]
extend-select = [
"B0", # flake8-bugbear
"I", # isort
"PGH", # pygrep-hooks
"UP", # pyupgrade
"W", # pycodestyle warnings
]
ignore = [
"S307",
"B008",
"UP006",
"UP035",
]
[tool.mypy]
python_version = "3.11"
strict = true
pretty = true
[tool.tox]
env_list = ["py39", "py310", "py311", "py312", "py313", "py314"]
skip_missing_interpreters = true
requires = ["tox >= 4.22"]
[tool.tox.env_run_base]
commands = [["coverage", "run", "-m", "pytest", { replace = "posargs", extend = true }]]
package = "editable"
dependency_groups = ["test"]
[tool.tox.env.docs]
depends = []
dependency_groups = ["doc"]
commands = [["sphinx-build", "-W", "-n", "docs", "build/sphinx"]]
|