blob: 34908a7deebf66bceced3e010498ce72b55b9ba6 [file]
[build-system]
requires = ['hatchling>=1.27.0']
build-backend = 'hatchling.build'
[project]
name = 'typing-inspection'
version = '0.4.1'
license = "MIT"
license-files = ['LICENSE']
description = 'Runtime typing introspection tools'
authors = [
{name = 'Victorien Plot', email = 'contact@vctrn.dev'},
]
readme = 'README.md'
classifiers = [
'Development Status :: 3 - Alpha',
'Programming Language :: Python',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3 :: Only',
'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',
'Typing :: Typed',
'Intended Audience :: Developers',
'Topic :: Software Development :: Libraries :: Python Modules',
]
requires-python = '>=3.9'
dependencies = [
'typing-extensions>=4.12.0',
]
[project.urls]
Homepage = 'https://github.com/pydantic/typing-inspection'
Documentation = 'https://pydantic.github.io/typing-inspection/dev/'
Source = 'https://github.com/pydantic/typing-inspection'
Changelog = 'https://github.com/pydantic/typing-inspection/blob/main/HISTORY.md'
[dependency-groups]
dev = [
'mypy>=1.15.0', # To use stubgen
'pre-commit>=4.1.0',
]
tests = [
'coverage>=7.6.12',
'pytest>=8.3.4',
'pytest-cov>=6.0.0',
]
docs = [
'mike>=2.1.3',
'mkdocs-material>=9.6.4',
'mkdocstrings[python]>=0.28.0',
]
lint = [
'pyright>=1.1.394',
'ruff>=0.9.6',
]
[tool.uv]
required-version = '>=0.7.2'
[tool.ruff]
line-length = 120
target-version = 'py39'
include = [
'src/**/*.py',
'tests/**/*.py',
'docs/.hooks/**/*.py',
]
[tool.ruff.format]
quote-style = 'single'
[tool.ruff.lint]
select = [
'E', # pycodestyle (E)
'W', # pycodestyle (W)
'F', # Pyflakes
'UP', # pyupgrade
'I', # isort
'PL', # Pylint
'RUF', # Ruff
'YTT', # flake8-2020
'B', # flake8-bugbear
'C4', # flake8-comprehensions
'T10', # flake8-debugger
'FA', # flake8-future-annotations
'PIE', # flake8-pie
'PYI', # flake8-pyi
'T20', # flake8-print
'Q', # flake8-quotes
'RSE', # flake8-raise
'PTH', # flake8-use-pathlib
]
ignore = [
'PLR0912',
'PYI021', # docstrings in stubs
]
[tool.ruff.lint.flake8-quotes]
inline-quotes = 'single'
[tool.ruff.lint.isort]
known-first-party = ['typing_inspection']
[tool.pyright]
typeCheckingMode = 'strict'
pythonVersion = '3.13'
include = ['src']
[tool.pytest.ini_options]
pythonpath = 'src'
[tool.coverage.run]
source = ['src/typing_inspection']
branch = true
relative_files = true
[tool.coverage.report]
exclude_also = [
'if TYPE_CHECKING:',
]
[tool.coverage.paths]
source = ['src']