pyproject.toml declares Python 3.13 or later, an empty runtime dependency list and pytest, ruff and mypy as development tools. The package has constants.py, the one place for constants, and a smoke test keeps the test run green. Task: MIL-001#1 Task: MIL-001#2 Task: MIL-001#3
49 lines
1.1 KiB
TOML
49 lines
1.1 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=77"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "turtle-challenges"
|
|
version = "0.1.0"
|
|
description = "Turtle graphics exercises from Udemy's 100 Days of Code Python bootcamp (day 18)."
|
|
readme = "README.md"
|
|
requires-python = ">=3.13"
|
|
license = "AGPL-3.0-only"
|
|
license-files = ["LICENSE"]
|
|
# Only the standard library is used at run time (turtle needs Tk, see README).
|
|
dependencies = []
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Topic :: Education",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"mypy>=1.13",
|
|
"pytest>=8.3",
|
|
"ruff>=0.8",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.pytest.ini_options]
|
|
pythonpath = ["src", "."]
|
|
testpaths = ["tests"]
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
target-version = "py313"
|
|
src = ["src", "tests"]
|
|
# Only the project's own code: the framework submodule and agent skills are not ours.
|
|
include = ["src/**/*.py", "tests/**/*.py"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["ANN", "B", "E", "F", "I", "N", "SIM", "UP", "W"]
|
|
|
|
[tool.mypy]
|
|
strict = true
|
|
files = ["src", "tests"]
|
|
mypy_path = "src"
|