Skip to main content

No project description provided

Project description

Build Status

A functional composition framework that supports:

  1. State - functions which retain state for their next turn of action.
  2. Ambiguity - non deterministic composition with priorities.
  3. Injection of compositions into long pipelines (deep dependency injection).
  4. Non cancerous asyncio support.

pip install computation-graph

To deploy: python setup.py sdist bdist_wheel; twine upload dist/*; rm -rf dist/;

Type checking

The runner will type check all outputs for nodes with return type annotations. In case of a wrong typing, it will log the node at fault.

Debugging

Available debuggers:

  1. graphviz.computation_trace
  2. mermaid.computation_trace
  3. ascii.computation_trace

To use, replace to_callable with run.to_callable_with_side_effect with your selected debugger as the first argument.

Graphviz debugger

This debugger will save a file on each graph execution to current working directory.

You can use this file in a graph viewer like gephi. Nodes colored red are part of the 'winning' computation path. Each of these nodes has the attributes 'result' and 'state'. 'result' is the output of the node, and 'state' is the new state of the node.

In gephi you can filter for the nodes participating in calculation of final result by filtering on result != null.

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

computation-graph-20.tar.gz (17.2 kB view details)

Uploaded Source

File details

Details for the file computation-graph-20.tar.gz.

File metadata

  • Download URL: computation-graph-20.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for computation-graph-20.tar.gz
Algorithm Hash digest
SHA256 d51be4f88d105f1ece25d3b55013627ceeba5ea0cc480b4732c326759a903e62
MD5 1684a4c16afe80488ae2737361773f19
BLAKE2b-256 74a9570284a8aec42cb383c63c57c930170968b7398fa8473035a360cf6fddee

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