Files
031-flash-card/pyproject.toml
T
Tirsvad 92894268c5 MIL-007: Documentation and publication
Review record RC-029 (Go, autonomous mode, not independent).

Task: MIL-007#1
Task: MIL-007#2
Task: MIL-007#3
Task: MIL-007#4
Task: MIL-007#5
Task: MIL-007#6
Task: MIL-007#7
Task: MIL-007#8
2026-10-14 22:42:26 +08:00

81 lines
2.0 KiB
TOML

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "flash-card"
version = "0.1.0"
description = "Flash card program for learning Malay words with Danish translations (Udemy 100 Days of Code, day 31)"
readme = "README.md"
requires-python = ">=3.13"
license = "AGPL-3.0-or-later"
license-files = ["LICENSE"]
authors = [{ name = "Jens Tirsvad Nielsen" }]
keywords = ["flashcards", "tkinter", "language-learning", "malay", "danish", "udemy"]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.13",
"Environment :: X11 Applications",
"Topic :: Education",
]
# The core program uses the Python standard library only (ADR-0001).
dependencies = []
[project.optional-dependencies]
# Spoken Malay word (text to speech). Optional; the program works without it.
speech = ["gTTS>=2.5", "playsound==1.2.2"]
# Only for tools/capture_screenshots.py; not needed to run the program.
tools = ["pillow>=10"]
dev = ["pytest>=8", "ruff>=0.6", "mypy>=1.11", "import-linter>=2.0"]
[project.scripts]
flash-card = "flash_card.presentation.app:run"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
flash_card = ["presentation/assets/*.png"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
addopts = "-ra"
[tool.ruff]
line-length = 88
target-version = "py313"
src = ["src", "tests"]
[tool.ruff.format]
line-ending = "lf"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM", "N", "D"]
ignore = ["D203", "D213"]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D"]
[tool.ruff.lint.pydocstyle]
convention = "pep257"
[tool.mypy]
python_version = "3.13"
strict = true
mypy_path = ["src"]
packages = ["flash_card"]
[tool.importlinter]
root_package = "flash_card"
[[tool.importlinter.contracts]]
name = "Layers point inward"
type = "layers"
layers = [
"flash_card.presentation",
"flash_card.infrastructure",
"flash_card.application",
"flash_card.domain",
]