Files
Tirsvad c24f41207f
CI / test (push) Successful in 54s
Plan project and set up Phase 1 skeleton
Add the framework submodule and the accepted planning documents:
Business Case, Stakeholder Analysis, Project Plan, three milestones,
review records RC-001 to RC-006 and the traceability matrix.

Set up the project skeleton for MIL-001: pyproject.toml (Python
>=3.13, no runtime dependencies, pytest/ruff/mypy as dev extra),
 src/coffee_machine/constants.py, a constants consistency test,
 Doxyfile and a CI workflow that runs ruff, mypy and pytest.

Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
Task: MIL-001#5
Closes #1
Closes #2
Closes #3
Closes #4
Closes #5
2026-10-07 10:43:22 +08:00

40 lines
909 B
TOML

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "coffee-machine"
version = "0.1.0"
description = "Object-oriented coffee machine program from Udemy's 100 Days of Code: The Complete Python Pro Bootcamp."
readme = "README.md"
requires-python = ">=3.13"
license = { file = "LICENSE" }
authors = [{ name = "Jens Tirsvad Nielsen" }]
# No runtime dependencies on purpose (stakeholder S03).
dependencies = []
[project.optional-dependencies]
dev = ["pytest>=8", "ruff>=0.6", "mypy>=1.11"]
[project.scripts]
coffee-machine = "coffee_machine.main:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
[tool.ruff]
line-length = 88
target-version = "py313"
[tool.ruff.lint]
select = ["E", "F", "I", "N", "UP", "B"]
[tool.mypy]
strict = true
python_version = "3.13"
files = ["src", "tests"]