Skip to main content

A module for defining pipeline processing graphs.

Project description

pypegraph

Pypegraph is a python library to create directed acyclic graphs (DAG) that represent data processing pipelines. In a pypegraph graph, each node contains a function wich output is sendend to the connected nodes and are used as input of those nodes's functions.

Installation

pip install pypegraph

Common usage

node1 = Node(lambda: print("Node1 is executing"), name="Node1")
node2 = Node(lambda: print("Node2 is executing"), name="Node2")

node1 |= node2  # connect both nodes node1 -> node2

outputs = node1()  # dictionary with each node outputs
node1_output = outputs[node1]  # None in this case because it does not return anything
node2_output = outputs[node2]  # None also

You can connect one node's output to a named parameter of another node's function input

def foo(n):
  return n
def square(number):
  return number * number
node1 = Node(foo, name="Node1")
node2 = Node(square, name="Node2")

node1 |= (node2, "number")  # connect both nodes with a connection name
outputs = node1(2)
node2_output = outputs[node2]  # should be 4

Connections

You can connect nodes in several ways

node1 = Node(lambda: print("Node1 is executing"), name="Node1")
node2 = Node(lambda: print("Node2 is executing"), name="Node2")

# you can do
n1 = n1 | n2
# or
n1 |= n2
# or
n1.connect(n2)

# nodes can be disconnected with
n1.disconnect(n2)

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

pypegraph-0.1.7.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

pypegraph-0.1.7-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file pypegraph-0.1.7.tar.gz.

File metadata

  • Download URL: pypegraph-0.1.7.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for pypegraph-0.1.7.tar.gz
Algorithm Hash digest
SHA256 b468ae888374c43d479c9a929cedbdbcd4e0cf4848e6e6384b217d0722e5c8f6
MD5 eac4dcc488c0cf43e59385ea132d44f1
BLAKE2b-256 5e0941d199057bba49f2d38ba8a4b6e7e7acc13e96163f778d8303eef78fd616

See more details on using hashes here.

File details

Details for the file pypegraph-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: pypegraph-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for pypegraph-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9d7cb95ccd102c981617f33dbea0c9e1a7482ae9794fdd82486b7031addf710f
MD5 ce0442586df926202b7ed0563064a70b
BLAKE2b-256 71e98d2c2b1f600e7e3c494d394c48c5b1dc71a355c0c16bf91e6713b8cdc900

See more details on using hashes here.

Supported by

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