Create node-based workflow
Project description
NodeGraph Engine
A platform for designing node-based workflows.
Supported engines
NodeGraph Engine ships with adaptors for a range of orchestration backends. Pick the engine that best matches your deployment target using the summary below and consult the documentation links for integration details.
| Engine | Description |
|---|---|
| Direct | Run graphs locally inside the current Python process while capturing provenance. |
| Airflow | Materialise graphs as Airflow DAGs that can be scheduled and monitored in Apache Airflow. |
| Dagster | Launch graphs as Dagster jobs and surface executions in the Dagster UI via a configured instance. |
| Dask | Execute node jobs through Dask's threaded scheduler, keeping provenance in the local AiiDA profile while resolving dependencies and nested graphs automatically. |
| Prefect | Execute graphs as Prefect flows while streaming provenance back to the recorder. |
| Parsl | Dispatch tasks to Parsl executors for parallel and distributed execution without losing provenance fidelity. |
| Redun | Integrate with Redun workflows while preserving provenance throughout execution. |
| Jobflow | Bridge to the Jobflow workflow system for materials science workloads with consistent provenance records. |
| Executorlib (Pyiron) | Coordinate tasks with executorlib executors for provenance-rich high-throughput simulations. |
Check the engine reference for a detailed overview of each adaptor and links to upstream documentation.
pip install --upgrade --user node_graph_engine
Documentation
Check the docs and learn about the features.
Examples
A simple math calculation
from node_graph import NodeGraph, node
@node()
def add(x, y):
return x + y
@node()
def multiply(x, y):
return x + y
@node.graph()
def AddMultiply(x, y, z):
the_sum = add(x=x, y=y).result
return multiply(x=the_sum, y=z).result
Engines and provenance
Run graphs directly in Python:
from node_graph_engine.direct import DirectEngine
graph = AddMultiply.build(x=1, y=2, z=3)
engine = DirectEngine()
results = engine.run(graph)
The generated provenance graph:
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file node_graph_engine-0.1.0.tar.gz.
File metadata
- Download URL: node_graph_engine-0.1.0.tar.gz
- Upload date:
- Size: 36.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40969f977b4aa97b3994cbd40e9465a7255203cdd5e41ddbddf875e5e4f3d398
|
|
| MD5 |
f54d9290dc81298d51b167e627623cfe
|
|
| BLAKE2b-256 |
8e5fe0dc5af433ce02f91a475dd50493c526c24e4b9a5352111932dd64b41f46
|
File details
Details for the file node_graph_engine-0.1.0-py3-none-any.whl.
File metadata
- Download URL: node_graph_engine-0.1.0-py3-none-any.whl
- Upload date:
- Size: 48.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa1a4641aff60a0fb805ae4e466038eab316d9d10e9480ccf1e7ff08fa9fcb14
|
|
| MD5 |
3d6e60e233d229123886b7aae4bfc3ae
|
|
| BLAKE2b-256 |
2a5ef485684d47f11f544ff7e7a77c6ed66b99535b1d864762478b73d1ecb962
|