Features
Authoring
Build multi-step processes interactively by creating nodes and defining the dependencies between them.
Node-based framework
Wrap your Python processing tasks in nodes and break down complex processing logic into more adaptable, maintainable, and upgradeable components.
Drag & drop interface
Design processes interactively with iograft's intuitive visual interface. Even non-technical users can quickly build new workflows with existing nodes.
Subgraphs
Embed graphs 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 making an "execution order" dependency.
Groups & notes
Organize and annotate your workflows by grouping nodes and by adding documentation directly to the canvas with notes.
Custom data types
iograft uses a plugin-based type system allowing users to define and pass custom data types between nodes.
Loop nodes
Execute a nested subgraph for an input number of iterations or iterate over a list of input data.
Processing & Debugging
Execute and monitor processing graphs. Efficiently identify and debug issues as they arise.
Processing Engine
Focus on writing nodes and defining the dependencies between them rather than the low-level details of how they are processed or how data is passed between them.
Real-time feedback
Visualize the progress of your data processing pipeline in real-time. Access error messages and node statuses directly from the UI.
Inspect output data
View the data being produced by your graph as it is processing to quickly and efficiently diagnose and resolve issues.
Monitor remote processes
Connect to and monitor iograft processes running on remote hosts all through a UI running on your local machine.
Headless Execution
Once built, processing graphs can be executed in "batch" or within other scripts and tools without needing to be connected to the UI.
Error Log
Each node has access to its own message and traceback log to easily identify the source of errors and debug efficiently.
Python API
iograft’s core can be run from within any Python environment allowing its capabilities to be used from any Python-enabled application.
In-app processing
Use iograft as the backbone for building tools and automating workflows within any application that supports Python.
Cross-application processing
Build and execute graphs with nodes that span multiple applications. Simply specify the environment that nodes should run in and iograft handles all of the inter-application communication and data passing.