aboutsummaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-18 20:28:09 +0200
committercirakg <cirakg@cirakg.xyz>2026-10-18 20:28:09 +0200
commita9b1dc8bd9354973eabd72f56d82b2eab6f48d56 (patch)
treec77ec27cf2c474ecd07692d6404fa7551afa113c /pyproject.toml
parentfe4ba63c0a12d9c914acbb0332d96924810b393b (diff)
build: add Docker-only Makefile, SDK setup and product manifest
- Makefile: every target runs in a container as your UID/GID, with no capabilities, a read-only root filesystem, only the project folder mounted and no network except for image builds and `make sdk`. Serial even under `make -j`. `make nuke` removes containers, images, the dedicated buildx builder and .cache/ after confirmation. - sdk-setup.sh: agreement acceptance pinned to the hash you read, password login (never stored), SDK 9.2.0 and device download, and the login token deleted afterwards. - gen-key.sh: RSA-4096 developer key into .cache/keys, never overwritten, with backup instructions. - manifest.xml: watch-app, minApiLevel 5.0.0, no permissions, and the 72 watches with API 5.0+ and at least 512 KB for apps. - .gitignore, lint configs and CHANGELOG. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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"