No project description provided
Project description
DagStream
DagStream is the Python package in order to manage relationship between functions, especially for data-preprocessing functions for machine learning applications. It offers simple API similar to taskflow.
For more details, please refer to docs below.
How to install
You can intall dagstream by using pip.
pip install dagstream
Basic Usage
Definition of Dag
DagStream class convert your functions into dag nodes.
import dagstream
def funcA():
print("funcA")
def funcB():
print("funcB")
def funcC():
print("funcC")
def funcD():
print("funcD")
def funcE():
print("funcE")
def funcF():
print("funcF")
stream = dagstream.DagStream()
A, B, C, D, E, F = stream.emplace(funcA, funcB, funcC, funcD, funcE, funcF)
A.precede(B, C)
E.succeed(B, C, D)
D.succeed(C)
F.succeed(E)
Execute whole dag functions
dagstream execute the functions based on relationship you defined.
from dagstream.executes import StreamExecutor
# construct functional dag
functional_dag = stream.construct()
executor = StreamExecutor(functional_dag)
executor.run()
In console, follwing items are shown.
funcA
funcC
funcB
funcD
funcE
funcF
Draw relationship of functions using Mermaid
You can draw function dag relationship by using Mermaid.
from dagstream.viewers import MermaidDrawer
functional_dag = stream.construct()
drawer.output(functional_dag, "path/to/output.mmd")
The output is shown like below.
stateDiagram
direction LR
state "funcC" as state_0
state "funcB" as state_1
state "funcD" as state_2
state "funcA" as state_3
state "funcF" as state_4
state "funcE" as state_5
[*] --> state_0
state_0 --> state_1
state_0 --> state_2
state_1 --> state_4
state_2 --> state_3
state_2 --> state_4
state_3 --> state_4
state_4 --> state_5
state_5 --> [*]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file dagstream-0.1.0.dev202310040616-py3-none-any.whl
.
File metadata
- Download URL: dagstream-0.1.0.dev202310040616-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.9.18 Linux/5.4.0-155-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f82261361808a6a7a7bd38d627d8c27126d0aeb1506877a9307c2622faf3363d |
|
MD5 | f60f6e13335c5b7c7ab31fa137f5a546 |
|
BLAKE2b-256 | 6e25b3dc80a6c063aa911f5b443a78490bb3f16f30b177501d01aa8df0bfd5ee |