Visual editor for interactive graph authoring
Easily build multi-step processes by placing nodes and defining the dependencies and data passed between them.
Monitor graph execution in real-time
Visualize the progress of your pipeline in real-time. Access error messages and node statuses directly from the UI.
Embed nested processing logic with subgraphs
Graphs can be embedded into other graphs via the “subgraph node” for easy sharing, re-use, and abstraction.
Data & non-data dependencies
Represent the dependencies between nodes by either defining the data to be passed between them or by marking an "execution order" dependency.
Inspect node output data as it is being produced
View the data being produced by your graph as it is processing to quickly and efficiently diagnose and resolve issues.
Author and execute graphs “within” other applications
iograft’s core can be run from within any Python environment allowing its capabilities to be used from any Python-enabled application.
Execute a nested subgraph multiple times with the “loop node” that iterates over a list of input data or for an input number of iterations.
Write nodes in Python & C++
iograft natively supports nodes written in Python and C++; giving you access to all of the libraries and power of both languages.
Add groups & notes to graphs
Organize and annotate your pipeline by grouping nodes and adding documentation directly to graphs with notes.
Support for custom data types
iograft uses a plugin-based type system allowing users to define and pass custom data types between nodes.
Execute graphs without the UI
Once built, processing graphs can be executed in "batch" or within other scripts without needing to be connected to the UI.
Monitor remote processes locally
Connect to and monitor iograft processes running on remote hosts all through a UI running on your local machine.
Support for user-defined processors
Define your own code for executing nodes allowing for iograft graphs to be processed with your own scheduler.
Extended debugging tools
Support for debugging operations such as stepping through processes, adding breakpoints, and more.
Edit Python nodes directly in the UI
Drop a python node and edit the code without leaving the UI; unlocking faster and easier node customization.
Execute nodes of the same graph in different environments
Allow processes to span multiple applications by defining a specific environment to execute groups of nodes in.
Branching logic in graphs
Conditionally execute a branch of nodes based on data produced during execution of the graph.
Node & canvas layout tools
Tools to arrange and layout nodes to keep the graph looking clean and organized.