68 lines
1.4 KiB
TOML
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",
|
|
]
|