bidict/pyproject.toml

128 lines
2.3 KiB
TOML

[project]
name = "bidict"
dynamic = ["version"]
description = "The bidirectional mapping library for Python."
authors = [{ name = "Joshua Bronson", email = "jabronson@gmail.com" }]
license = { text = "MPL 2.0" }
dependencies = []
requires-python = ">=3.9"
readme = "README.rst"
keywords = [
"bidict",
"bimap",
"bidirectional",
"dict",
"dictionary",
"mapping",
"collections",
]
classifiers = [
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
"Operating System :: OS Independent",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Typing :: Typed",
]
[project.urls]
# https://github.com/pypi/warehouse/blob/main/warehouse/templates/packaging/detail.html#L20-L62
Changelog = "https://bidict.readthedocs.io/changelog.html"
Documentation = "https://bidict.readthedocs.io"
Sponsor = "https://bidict.readthedocs.io/#sponsoring"
Repository = "https://github.com/jab/bidict"
[dependency-groups]
test = [
"coverage",
"coverage-enable-subprocess",
"hypothesis",
"mypy",
"pytest",
"pytest-benchmark",
"pytest-sphinx",
"pytest-xdist",
"sortedcollections",
"sortedcontainers",
"typing_extensions",
]
dev = [
"pytest-clarity",
"pytest-icdiff",
"tox",
"tox-uv",
"uv",
]
docs = [
"sphinx",
"sphinx-copybutton",
"furo",
]
[tool.uv]
default-groups = ["test", "dev", "docs"]
[build-system]
requires = ["setuptools >= 40.9.0"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
packages = ["bidict"]
[tool.setuptools.dynamic]
version = {attr = "bidict.metadata.__version__"}
[tool.mypy]
strict = true
show_error_codes = true
show_error_context = true
show_column_numbers = true
pretty = true
[tool.ruff]
preview = true
line-length = 121
[tool.ruff.lint]
# https://docs.astral.sh/ruff/rules/
extend-select = [
"A",
"ARG",
"B",
"BLE",
"E",
"F",
"FA",
"FLY",
"FURB",
"G",
"I",
"ICN",
"PERF",
"PGH",
"PIE",
"PT",
"PTH",
"RET",
"RSE",
"RUF",
"SLOT",
"T20",
"TID",
"UP",
"W",
"YTT",
]
[tool.ruff.lint.flake8-builtins]
builtins-allowed-modules = ["_abc"]
[tool.ruff.lint.isort]
force-single-line = true
lines-after-imports = 2
[tool.ruff.format]
docstring-code-format = true
docstring-code-line-length = "dynamic"
preview = true
quote-style = "single"