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 is tested on linux and requires 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://hyrrokk.in/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 (see https://deno.com/).
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 pyyaml jsonschema
export PYTHONPATH=$PYTHONPATH:test
python -m unittest
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:
git clone https://codeberg.org/visual-topology/hyrrokkin.git
cd hyrrokkin
pip install -e .
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.4.tar.gz.
File metadata
- Download URL: hyrrokkin-0.1.4.tar.gz
- Upload date:
- Size: 606.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3e98d19f15bc7272077f88573769b2bfeb20d13abf7ab66526965f4b6f229b5
|
|
| MD5 |
6f8457be9f39997ddfbcc4e651af88e2
|
|
| BLAKE2b-256 |
a96d6778bdce8958f521962e345c5338b72912d6e4fdee30ec87b6334652f3d3
|
File details
Details for the file hyrrokkin-0.1.4-py3-none-any.whl.
File metadata
- Download URL: hyrrokkin-0.1.4-py3-none-any.whl
- Upload date:
- Size: 705.1 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 |
d23fcd7be33707d3bb46a51cbe8a57fc5e68a231e53d61ded8fc5e8056a4cf86
|
|
| MD5 |
04c4b0093b955b3fe3ef3a32d7c003fc
|
|
| BLAKE2b-256 |
0cd0b46ef07468f16bef1329f9f90fb73cfb85a59ad5a62bd36bc7e6e5e15b38
|