Add interactive graph builder and managed execution - #17
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The dashboard can now build and run processing graphs alongside its existing live graph inspector. Users can start with an empty graph, add their own source and processing components, or connect a live Unit/Collection output to a new managed graph.
Changes
ezmsg.componentsentry points. Browse by extension and nested module, with search automatically revealing matching branches. Inspect metadata in disposable processes and keep unavailable registrations visible.Dependencies and release sequencing
Requires ezmsg 3.10 APIs; the package minimum is raised to
3.10.0b3. Correct generic stream metadata additionally needs ezmsg-org/ezmsg#270. Python CI temporarily pins integration commit8442e35bd1b9cb703f1b4506b4563821cae28d2cfrom ezmsg-org/ezmsg#271, which includes optional JSON Schema settings support. Local setup is documented indocs/graph-builder.md.Before publishing the dashboard, release a core beta containing that stack, raise the core minimum to the new beta, and remove the temporary CI Git pin. The core matrix currently has a Windows Python 3.14 fixture-encoding failure in
test_inspect_command.py; that remains a core release prerequisite. Component discovery also needs the local ezmsg-lsl/ezmsg-sigproc entry-point changes published (or installed editable).Validation
Current limits
Apply resets managed buffers/filter state and can lose samples. Startup failure does not automatically restore the previous graph. Nested Collection authoring, arbitrary live-graph import, undo/redo, and connections from managed outputs into externally owned consumers are deferred. Scientific payload constraints still require component-level validation.
Requires
ezmsg>=3.10.0b4(preserving optional extras). Dependency metadata parses successfully andgit diff --checkpasses.CI now installs the declared ezmsg beta instead of a temporary Git pin. Managed workers receive a cooperative stop request before forced termination, allowing Windows to join child processes and release graph-unit ownership before Apply restarts the graph. Validation: all 10 execution tests pass locally; Ruff passes.