Files
planeMapper/pyproject.toml
Matt Edholm 9f6d442df8 feat(2-7): operational radar loop, startup screen, and systemd wiring
Implements story 2-7: full main.py with _make_startup_screen(),
_run_one_cycle() with per-phase timing and slow-render warning, and
main() connecting config → bounds → fetcher → renderer → display.
Adds provision.py early-exit when already provisioned. Adds User=root
to both systemd service files. Adds tests/test_main.py (3 new tests,
99 total). Updates scaffold test to allow provisioning.config import
from main.py. All quality gates pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 23:40:37 -04:00

45 lines
1.1 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "planemapper"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
"Pillow==12.2.0",
"gpiozero==2.0.1",
"Flask==3.1.3",
"requests==2.33.1",
]
[project.scripts]
planemapper-radar = "planemapper.main:main"
planemapper-provision = "planemapper.provision:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
"planemapper" = ["data/airports.csv"]
[tool.ruff]
line-length = 100
target-version = "py311"
exclude = [".claude", "_bmad", "_bmad-output"]
[tool.ruff.lint]
select = ["E", "F", "I", "TID", "UP"]
[tool.ruff.lint.flake8-tidy-imports.banned-api]
"planemapper.provisioning".msg = "main.py must not import from planemapper.provisioning.*"
[tool.ruff.lint.per-file-ignores]
# All non-main modules may import from provisioning freely
"src/planemapper/main.py" = ["TID251"]
"src/planemapper/provision.py" = ["TID251"]
"src/planemapper/provisioning/*.py" = ["TID251"]
# Tests may import from provisioning to test its public API
"tests/provisioning/*.py" = ["TID251"]
"tests/conftest.py" = ["TID251"]