Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

batik-0.4.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

batik-0.4.0-py2.py3-none-any.whl (12.2 kB view details)

Uploaded Python 2 Python 3

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

Hashes for batik-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5b565501cdb58a9afc8c04b78f32aae21f6be274bb265eb9b9951a330677cf39
MD5 ba3364ad3406295372afcfc08b2c5c57
BLAKE2b-256 eaaea9e3189a6ca35099bee0b1ba08f8b23c5bb23f22c0b0c9d415e5f0dfbe3a

See more details on using hashes here.

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

Hashes for batik-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1cf2a76d3b53f885850e308579a1faf04a53ed961eb9e83dfe3765d94aa42f73
MD5 d4b14532d2e3999b3601a1988d399b0d
BLAKE2b-256 815e9d5965dc148990b2665a4fdf1e515c0ce1a8d008e370794f2ab250b0d2b2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page