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.

Loop nodes

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.

In Development

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.