Files
dora-image-view/dataflow.yml
T
cristhian b9d9843fa1 fix strict-type validation by giving the example source a manifest
`dora validate` matches a node manifest to a `path:` node by entrypoint. With
no manifest beside examples/source.py the root dora-node.yml was tried against
it, did not match its entrypoint, and warned -- which `strict_types: true`
turns into a non-zero exit, failing CI.

Declaring the source's output types in the new manifest rather than as
`output_types:` in dataflow.yml is also what makes them checked: an inline
annotation shadows the manifest, so the manifest would be injected but never
compared against the viewer's.

Verified with dora-cli 1.0.1: validate passes with both contracts injected, and
`CI=true SOURCE_FRAMES=30 dora run dataflow.yml --uv` runs both nodes to a
clean exit.
2026-09-15 03:22:27 -03:00

32 lines
971 B
YAML

# The repository's own example, and its end-to-end test: a synthetic source
# feeding the viewer. Everything it needs is in this checkout -- no camera, no
# detector, no network -- so it is also what CI runs.
#
# Both nodes are built from the checkout with `path:` + `build:`, which is what
# lets `dora validate` pick up the typed contract in dora-node.yml. A consumer
# wires the viewer from a tag instead -- see README.md.
#
# Run it with `--uv` so every node gets its own managed environment.
strict_types: true
nodes:
- id: source
path: examples/source.py
# The source needs dora-rs, numpy and pyarrow; installing the project gives
# it exactly the versions pinned in uv.lock.
build: pip install .
inputs:
tick: dora/timer/millis/33
outputs:
- image
- bbox
- text
- id: view
path: dora-image-view
build: pip install .
inputs:
image: source/image
bbox: source/bbox
text: source/text