Skip to main content

greenflow - Graph Computation Toolkit

What is greenflow?

greenflow is a tool that helps you to organize the workflows.

  1. It define a TaskGraph file format .gq.yaml that describes the workflow. It can be edited easily by greenflowlab JupyterLab plugin.
  2. Dynamically compute the input-output ports compatibility, dataframe columns names and types, ports types to prevent connection errors.
  3. Nodes can have multiple output ports that can be used to generate different output types. E.g. some data loader Node provides both cudf and dask_cudf output ports. The multiple GPUs distributed computation computation is automatically enabled by switching to the dask_cudf output port.
  4. Provides the standard API to extend your computation Nodes.
  5. The composite node can encapsulate the TaskGraph into a single node for easy reuse. The composite node can be exported as a regular greenflow node without any coding.
  6. greenflow can be extended by writing a plugin with a set of nodes for a particular domain. Check plugins for examples.

These examples can be used as-is or, as they are open source, can be extended to suit your environments.

Binary pip installation

To install the greenflow graph computation library, run:

pip install greenflow

Or install greenflow at the root directory:

pip install .

greenflow node plugins can be registered in two ways:

  1. (Recommended)Write a external plugin using 'entry point' to register it. Check the external directory for details
  2. Register the plugin in greenflowrc file. Check the System environment for details

System environment

There are a few system environment that the user can overwrite.

The custom module files are specified in the greenflowrc file. GREENFLOW_CONFIG enviroment variable points to the location of this file. By default, it points to $CWD\greenflowrc.

In the example greenflowrc, system environment variable MODULEPATH is used to point to the paths of the module files. To start the jupyterlab, please make sure MODULEPATH is set properly.

Release files for greenflow 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for greenflow 1.0.5
File Size Uploaded
greenflow-1.0.5.tar.gz 41.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for greenflow 1.0.5
File Interpreter ABI Platform
greenflow-1.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 92.2 kB

Release files / greenflow-1.0.5.tar.gz

Download URL greenflow-1.0.5.tar.gz
Size 41.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fa8c4c4cfcbe39d5d1e13e2f435f59c1fa506d2099adcfa4d428e60360de6354
BLAKE2b-256 checksum
How to use checksums
ce6f9e1ef09c7183c7a305655a5d55c654b5f3eeae1b21b1cfa78948b3f8ad85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Release files / greenflow-1.0.5-py3-none-any.whl

Download URL greenflow-1.0.5-py3-none-any.whl
Size 50.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e56b31eeb122dbbd4d9360688aa81f1eb466933c65b4f974ae094e90999ab76
BLAKE2b-256 checksum
How to use checksums
57731bb4ba12fb515833e167919c42c4967310d0573197da81f0fa344004bc19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 release files

1.0.4

2 release files

1.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page