Skip to main content

A lightweight asynchronous DAG execution engine for Python and other languages

Project description

hyrrokkin

 _                               _     _     _
| |__   _   _  _ __  _ __  ___  | | __| | __(_) _ __
| '_ \ | | | || '__|| '__|/ _ \ | |/ /| |/ /| || '_ \
| | | || |_| || |   | |  | (_) ||   < |   < | || | | |
|_| |_| \__, ||_|   |_|   \___/ |_|\_\|_|\_\|_||_| |_|
        |___/

A lightweight asynchronous directed acyclic graph (DAG) execution engine for Python (CPython) and Javascript (Deno)

  • define packages of nodes using the python or javascript package API
  • create topologies which link nodes together using the python topology API
  • run topologies using the python topology API or CLI
  • attach clients to communicate with nodes while a topology is running

Installation Options

Hyrrokkin supports linux for python versions >= 3.11

Installation without dependencies (no support for YAML import/export, JSON schema checking):

pip install hyrrokkin

Installation with optional dependencies for YAML import/export:

pip install hyrrokkin[YAML]

Installation with optional dependencies for JSON schema validation:

pip install hyrrokkin[VALIDATION]

Installation with all optional dependencies

pip install hyrrokkin[VALIDATION,YAML]

To run topologies using the javascript engine, install deno - https://deno.com/

Documentation:

https://visualtopology.org/docs/hyrrokkin

Unit tests:

Python unit tests

These cover the hyrrokkin CLI and API, the python engine API, and the execution of textgraph topologies in various python and javascript engine configurations

Deno needs to be installed.

Create a fresh python environment (using python 3.11 or later), then...

git clone https://codeberg.org/visual-topology/hyrrokkin.git
cd hyrrokkin
pip install -e .
pip install pytest
pip install pyyaml jsonschema
pytest

These cover the parts of the javascript engine APIs

cd test/javascript/unit_tests
./run_all.sh

Building Documentation

Documentation is built using mkdocs which can be installed using:

pip install mkdocs
python -m pip install "mkdocstrings[python]"
python -m pip install mkdocs-material

Additional documentation for javascript APIs is buit using JSDoc - https://github.com/jsdoc/jsdoc

To build documentation:

cd docs
./build.sh

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

hyrrokkin-0.1.3.tar.gz (57.7 kB view details)

Uploaded Source

Built Distribution

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

hyrrokkin-0.1.3-py3-none-any.whl (111.7 kB view details)

Uploaded Python 3

File details

Details for the file hyrrokkin-0.1.3.tar.gz.

File metadata

  • Download URL: hyrrokkin-0.1.3.tar.gz
  • Upload date:
  • Size: 57.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for hyrrokkin-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9ec1e61f353848feb897cbfb036b82d3d506f70d93d6841e9f9db6d8b5ec358b
MD5 b602851f6282d2407feb393aaf07ebf3
BLAKE2b-256 df06e848e8881d0fb6328b2462508e1381850b90ad9b692887984c903373f4a8

See more details on using hashes here.

File details

Details for the file hyrrokkin-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: hyrrokkin-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 111.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for hyrrokkin-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ae6d2f02824da4f7fc9bc98e156b6d69fcb17ddfafb117eb635c7d9632cd69d4
MD5 479132f44770a96ec7bd50e888041bad
BLAKE2b-256 50ef8b3d44278a64264fbea2cb616abe41b429a5bb87e6d886d584c44b56d61f

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