Skip to main content

Create node-based workflow

Project description

NodeGraph Engine

PyPI version CI codecov Docs status

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:

Provenance Graph Example

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

node_graph_engine-0.1.0.tar.gz (36.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

node_graph_engine-0.1.0-py3-none-any.whl (48.6 kB view details)

Uploaded Python 3

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

Hashes for node_graph_engine-0.1.0.tar.gz
Algorithm Hash digest
SHA256 40969f977b4aa97b3994cbd40e9465a7255203cdd5e41ddbddf875e5e4f3d398
MD5 f54d9290dc81298d51b167e627623cfe
BLAKE2b-256 8e5fe0dc5af433ce02f91a475dd50493c526c24e4b9a5352111932dd64b41f46

See more details on using hashes here.

File details

Details for the file node_graph_engine-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for node_graph_engine-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa1a4641aff60a0fb805ae4e466038eab316d9d10e9480ccf1e7ff08fa9fcb14
MD5 3d6e60e233d229123886b7aae4bfc3ae
BLAKE2b-256 2a5ef485684d47f11f544ff7e7a77c6ed66b99535b1d864762478b73d1ecb962

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page