pyproject.toml (Python >=3.13, no runtime dependencies, speech and dev extras), Python .gitignore, layer skeleton with constants.py, Doxyfile, README with the .venv instructions, the Malay to Danish word list and review record RC-023. Task: MIL-001#1 Task: MIL-001#2 Task: MIL-001#3 Task: MIL-001#4 Task: MIL-001#5 Task: MIL-001#6
76 lines
1.8 KiB
TOML
76 lines
1.8 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"]
|
|
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.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",
|
|
]
|