Python DSL reference
Python base + current graph + edited PythonApply, revisions, and conflicts
Apply uses a conflict-aware merge so Graph and Python edits do not silently overwrite one another.
When to use
Use Apply to Graph after editing Python; review proposed changes whenever the graph also changed after Python generation.
Behavior
- An unchanged Python workspace is a no-op and does not open the Review dialog.
- Edited Python is validated and converted to the internal StreamApp model before merge.
- Independent Graph and Python changes are combined automatically.
- When both sides change the same model path, Review requires an explicit Use Graph or Use Python choice.
- Successful confirmation creates one undo step and advances the Python baseline to the applied graph revision.
- Names are safe to change: keys are re-derived and object references keep connector, endpoint, service, stream, module, pool, and type relationships connected.
Workspace states properties
Status indicators used by the editor.
PropertyTypeDescription
Python projectreadyGenerated or restored files are available.
Changes not applieddirtyAt least one Python file changed after the baseline.
Graph changedstaleThe visual graph changed after the Python baseline was created.
Review Python changesmergeShows proposed changes and any same-path conflicts.
Three-way merge
Python base v12:ab12cd34
Current graph v14:ef56ab78
Graph changed: services.orderService.appearance.color
Python changed: dataConnectors.orderEvents.name
Result: both independent edits are retained