batik
Project description
Batik is a Python framework for simplifying dataflow programming.
It’s basically a bunch of glue code for connecting steps in a data pipeline, with support for stateful actors, multithreading, and model serving.
Hot-reload sort of works too, but I’m still ironing out the kinks.
I wrote Batik because I hated having to screw around with initializing threads, queues, handling IPC, and having to decipher just what a data science or signal processing pipeline was doing from a giant block of imperative code.
In Batik, you implement processing steps, or layers, on their own, and stitch them together in batik.yaml, for an approach more resembling gnuradio or simulink without the gui.
Terminology:
Manifest: The complete setup of what to run/serve. Read from batik.yaml.
Layer: A single processing step in a pipeline. Takes some data as a parameter, operates on it, and returns some data.
Endpoint: A sequence of one or more layers. Used as an api endpoint for model serving. May be invoked dynamically from other layers to do things like fan-out based on value etc.
Actor: A stateful class, initialized at runtime. The methods of the class may be used as layers or daemons.
Daemon: A generator function that runs at startup. Each generated value is passed to a specified endpoint, possibly through some layers.
See examples for more.
Batik is kind of a mess at the moment. If you want to contribute, I’ll buy you a beer.
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 Distribution
Built Distribution
File details
Details for the file batik-0.4.0.tar.gz
.
File metadata
- Download URL: batik-0.4.0.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b565501cdb58a9afc8c04b78f32aae21f6be274bb265eb9b9951a330677cf39 |
|
MD5 | ba3364ad3406295372afcfc08b2c5c57 |
|
BLAKE2b-256 | eaaea9e3189a6ca35099bee0b1ba08f8b23c5bb23f22c0b0c9d415e5f0dfbe3a |
File details
Details for the file batik-0.4.0-py2.py3-none-any.whl
.
File metadata
- Download URL: batik-0.4.0-py2.py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cf2a76d3b53f885850e308579a1faf04a53ed961eb9e83dfe3765d94aa42f73 |
|
MD5 | d4b14532d2e3999b3601a1988d399b0d |
|
BLAKE2b-256 | 815e9d5965dc148990b2665a4fdf1e515c0ce1a8d008e370794f2ab250b0d2b2 |