summaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml27
1 files changed, 27 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..c92bed4
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,27 @@
+# Configuration for the Python tools in tools/ (they run inside the dev image).
+# This is not a Python package; the file only configures pytest, ruff and mypy.
+# Caches go to build/ so the source tree stays clean.
+
+[tool.pytest.ini_options]
+testpaths = ["tools/tests"]
+cache_dir = "build/.pytest_cache"
+addopts = "-p no:cacheprovider"
+
+[tool.ruff]
+line-length = 120
+target-version = "py310"
+cache-dir = "build/.ruff_cache"
+include = ["tools/**/*.py"]
+
+[tool.ruff.lint]
+select = ["E", "F", "W", "I", "B", "UP", "SIM", "RUF", "PL"]
+ignore = [
+ "PLR2004", # magic values are fine in tests and small CLI tools
+ "PLR0912", # branchy parsers read better as one function
+]
+
+[tool.mypy]
+python_version = "3.10"
+strict = true
+files = ["tools"]
+cache_dir = "build/.mypy_cache"