boilerplate-py/pyproject.toml

100 lines
2.0 KiB
TOML

#####################
# Python packaging: #
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "${REPO_NAME}"
description = "${REPO_DESCRIPTION}"
authors = [
{ name = "${REPO_OWNER_TITLE}", email = "mail@PLACEHOLDER.to" },
]
maintainers = [
{ name = "${REPO_OWNER_TITLE}", email = "mail@PLACEHOLDER.to" },
]
requires-python = ">=3.9, <4.0"
keywords = [
]
license = { text = "Apache Software License Version 2.0" }
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Operating System :: OS Independent",
"License :: OSI Approved :: Apache Software License",
# "Intended Audience :: Developers",
# "Framework :: AsyncIO",
# "Topic :: Internet",
]
dynamic = [
"dependencies",
"readme",
"version",
]
[project.optional-dependencies]
full = [
]
dev = [
"black",
"build",
"coverage",
"flake8",
"mkdocs-material",
"mkdocstrings[python]",
"mypy",
]
[project.urls]
repository = "https://github.com/${REPO_OWNER_LOWER}/${REPO_NAME_LOWER}"
bug_tracker = "https://github.com/${REPO_OWNER_LOWER}/${REPO_NAME_LOWER}/issues"
documentation = "http://${REPO_OWNER_LOWER}.github.io/${REPO_NAME_LOWER}"
[tool.setuptools.dynamic]
dependencies = { file = "requirements/common.txt" }
readme = { file = ["README.md"] }
version = {attr = "PACKAGE_NAME_PLACEHOLDER.__version__"}
#########
# Mypy: #
[tool.mypy]
files = "src/"
warn_unused_configs = true
strict = true
show_error_codes = true
plugins = [
]
#############
# Coverage: #
[tool.coverage.run]
source = [
"src/",
]
branch = true
command_line = "-m tests"
omit = [
".venv*/*",
]
[tool.coverage.report]
show_missing = true
skip_covered = false
exclude_lines = [
"if TYPE_CHECKING:",
'''if __name__ == ['"]__main__['"]:''',
"@overload",
]
omit = [
"tests/*",
]