Files
hms-mediaengine/pyproject.toml
T
HMS MediaEngine Agent c4574927fd Phase 1: Cluster-Fundament – Nachrichten, Registry, Paarung, Discovery
- hms_cluster: ClusterMessage (§6.5: Pflichtfelder, Sequenzen, Revisionen,
  execute_at, Trace-ID), CommandTracker (idempotent, vorwärts-only:
  accepted->armed->executed/failed)
- NodeRegistry: online/degraded/stale/offline über Schwellen, UI-Kategorien
  discovered/paired/unknown/incompatible/offline, Doppel-Node-ID blockiert,
  IP-Wechsel erhaelt node_id (§6.3, §6.5)
- Pairing: PIN (TTL 120s, Versuchslimit), Fingerprint (SHA-256 gruppiert),
  Token nur als Hash, Scopes read/control/content_sync/admin, Ablauf +
  sofortiger Widerruf (§6.3, §27.1, ADR-0010)
- Discovery-Modell: _hmsmedia._tcp.local. TXT ohne Secrets, Capability-
  Digest, persistente manuelle Fallback-Liste (ADR-0009)
- ADR-0009 (mDNS + Fallback) und ADR-0010 (Paarung) dokumentiert
- 25 Unit-Tests; Gesamtsuite 183 Tests gruen, Ruff gruen
2026-09-11 01:06:26 +02:00

50 lines
1.1 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[project]
name = "hms-mediaengine"
version = "0.1.0"
description = "HMS MediaEngine modularer Medienserver, VJ-System und generativer Effektserver (Arbeitstitel)"
requires-python = "==3.13.*"
dependencies = [
"fastapi>=0.115",
"uvicorn>=0.30",
"pydantic>=2.7",
"msgpack>=1.0",
]
[dependency-groups]
dev = [
"pytest>=8.2",
"httpx>=0.27",
"ruff>=0.6",
]
[build-system]
requires = ["hatchling>=1.22"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = [
"packages/protocol/hms_protocol",
"packages/domain/hms_domain",
"packages/parameter_engine/hms_parameter",
"packages/artnet/hms_artnet",
"packages/adaptive_quality/hms_adaptive",
"packages/capabilities/hms_capabilities",
"packages/plugin_sdk/hms_plugin_sdk",
"packages/persistence/hms_persistence",
"packages/cluster/hms_cluster",
"apps/renderer/hms_renderer",
"apps/control_server/hms_control_server",
"apps/launcher/hms_launcher",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"
[tool.ruff]
line-length = 100
target-version = "py313"
[tool.ruff.lint]
select = ["E", "F", "W", "I", "UP", "B"]