[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", ] [project.scripts] turtle-challenges = "turtle_challenges.cli:main" [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"