The central DAG data structure.
| Method | Description |
|---|---|
add_node(node) |
Add a node to the graph |
remove_node(node_id) |
Remove a node and its edges |
get_node(node_id) |
Get a node by ID |
add_edge(src, tgt) |
Connect two nodes (raises CycleError if cycle) |
remove_edge(src, tgt) |
Disconnect two nodes |
topological_order() |
Return nodes in execution order |
mark_dirty(node_id) |
Mark node and all descendants dirty |
get_upstream(node_id) |
Get all upstream node IDs |
get_downstream(node_id) |
Get all downstream node IDs |
The DAG execution engine.
| Method | Description |
|---|---|
execute(graph, node_id) |
Execute up to node_id, return DataFrame |
execute_all(graph) |
Execute all nodes in topological order |
get_cached(node_id) |
Get cached output for a node |
Dictionary of NodeTypeSpec objects defining all available node types.
Compute column statistics for a DataFrame.
View-layer conditional formatting engine.
Pydantic model for graph mutations.
Pydantic model for app-wide command batches generated by the AI.
Apply PipelineMutationBatch to a live graph.
Multi-turn AI chat session with context injection.
Routes to the configured Gemini backend.
Central reactive state object with Qt signals.
Multi-tab workspace management.
Undo/redo with action-level granularity.
Typed IPC message classes for worker communication.
Headless worker process for data computation.