diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..cef25de --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,54 @@ +[build-system] +requires = ["setuptools>=77"] +build-backend = "setuptools.build_meta" + +[project] +name = "snake-game" +version = "0.1.0" +description = "Snake game from Udemy's 100 Days of Code (day 21), built object-oriented with Python turtle graphics: food, score and game over." +readme = "README.md" +requires-python = ">=3.13" +license = "AGPL-3.0-only" +license-files = ["LICENSE"] +authors = [{ name = "Jens Tirsvad Nielsen" }] +keywords = ["snake", "game", "turtle", "udemy", "100-days-of-code"] +classifiers = [ + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.13", + "Topic :: Education", + "Topic :: Games/Entertainment", +] +# The game runs on the standard library only (turtle needs tkinter). +dependencies = [] + +[project.optional-dependencies] +dev = [ + "pytest>=8", + "ruff>=0.6", + "mypy>=1.11", +] + +[project.urls] +Repository = "https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/021-snake-game" + +[tool.setuptools.packages.find] +where = ["src"] + +[tool.pytest.ini_options] +testpaths = ["tests"] +pythonpath = ["src", "tests"] + +[tool.ruff] +line-length = 88 +target-version = "py313" +src = ["src", "tests"] +extend-exclude = ["framework", "build"] + +[tool.ruff.lint] +select = ["E", "F", "W", "I", "N", "UP", "B", "SIM"] + +[tool.mypy] +python_version = "3.13" +strict = true +files = ["src", "tests"] +mypy_path = ["src", "tests"]