Files
026-nato-alphabet/pyproject.toml
2026-10-13 16:39:03 +08:00

68 lines
1.4 KiB
TOML

[build-system]
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[project]
name = "nato-alphabet"
version = "0.1.0"
description = "Console tool that spells a word with the NATO phonetic alphabet (100 Days of Code, day 26)."
readme = "README.md"
requires-python = ">=3.13"
license = "AGPL-3.0-or-later"
license-files = ["LICENSE"]
authors = [{ name = "Jens Tirsvad Nielsen" }]
keywords = ["nato", "phonetic-alphabet", "comprehensions", "100-days-of-code"]
dependencies = []
[project.optional-dependencies]
dev = [
"pytest==9.1.1",
"ruff==0.17.0",
"mypy==2.4.0",
"import-linter==2.15",
]
[project.scripts]
nato-alphabet = "nato_alphabet.main:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
nato_alphabet = ["data/*.csv"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
[tool.ruff]
line-length = 88
src = ["src", "tests"]
extend-exclude = ["framework", ".agents", ".claude"]
[tool.ruff.lint]
select = ["E", "F", "I", "N", "UP", "B", "D"]
[tool.ruff.lint.pydocstyle]
convention = "pep257"
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D"]
[tool.mypy]
strict = true
files = ["src", "tests"]
mypy_path = "src"
[tool.importlinter]
root_package = "nato_alphabet"
[[tool.importlinter.contracts]]
name = "Dependencies point inward"
type = "layers"
layers = [
"nato_alphabet.adapters",
"nato_alphabet.application",
"nato_alphabet.domain",
]