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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ec1e61f353848feb897cbfb036b82d3d506f70d93d6841e9f9db6d8b5ec358b
|
|
| MD5 |
b602851f6282d2407feb393aaf07ebf3
|
|
| BLAKE2b-256 |
df06e848e8881d0fb6328b2462508e1381850b90ad9b692887984c903373f4a8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae6d2f02824da4f7fc9bc98e156b6d69fcb17ddfafb117eb635c7d9632cd69d4
|
|
| MD5 |
479132f44770a96ec7bd50e888041bad
|
|
| BLAKE2b-256 |
50ef8b3d44278a64264fbea2cb616abe41b429a5bb87e6d886d584c44b56d61f
|