v0.1.0 — first public release
Trio Retina is the model-agnostic state layer for world models: turn any detector (YOLO · VLM · DINO) into one standard, queryable stream of events + latent state. numpy-only core, runs on CPU at the edge.
pip install "retina-sdk @ git+https://github.com/machinefi/trio-retina" # core: numpy onlyA PyPI
retina-sdkrelease is landing shortly.
Highlights
- The
retina.eventstandard — tiny, JWT-like; ships a JSON Schema + pure-Python validator. - Composable pipeline — wire detectors/trackers/rules/gates/enrichers/sinks with
|, a node list, or a JSON workflow. - Detectors: YOLO (Ultralytics), open-vocab (Grounding DINO), any VLM, or any
callable(image)->[Detection]. Trackers: IoU (pure-Python) + Norfair. - Rules:
zone.enter/line.cross/dwell/count— now withexit_grace_s(rides out detection blips / id flicker) andanchor(center/feet/head). - Dual state — symbolic events plus an optional latent (
Vec) channel, never collapsed. - Demos (all run with no model / no GPU): forecast (dynamics on
WorldState) and a live iTwin.js digital-twin overlay.
Developer experience
pytestruns on a bare checkout (justpip install numpy pytest).make test / lint / format / docs / build; pre-commit config; CI across Python 3.10–3.13.
Full notes in CHANGELOG.md.