Python stream processing
Project description
Beavers
Documentation / Installation / Repository / PyPI
Beavers is a python library for stream processing, optimized for analytics.
It is used at Tradewell Technologies, to calculate analytics and serve model predictions, for both realtime and batch jobs.
Key Features
- Works in real time (eg: reading from Kafka) and replay mode (eg: reading from Parquet files).
- Optimized for analytics, using micro-batches (instead of processing records one by one).
- Similar to incremental, it updates nodes in a dag incrementally.
- Taking inspiration from kafka streams, there are two types of nodes in the dag:
- Stream: ephemeral micro-batches of events (cleared after every cycle).
- State: durable state derived from streams.
- Clear separation between the business logic and the IO. So the same dag can be used in real time mode, replay mode or can be easily tested.
- Functional interface: no inheritance or decorator required.
- Support for complicated joins, not just "linear" data flow.
Limitations
- No concurrency support. To speed up calculation use libraries like pandas, pyarrow or polars.
- No async code. To speed up IO use kafka driver native thread or parquet IO thread pool.
- No support for persistent state. Instead of saving state, replay historic data from kafka to prime stateful nodes.
Talks
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
beavers-0.11.0.tar.gz
(29.6 kB
view details)
Built Distribution
beavers-0.11.0-py3-none-any.whl
(31.3 kB
view details)
File details
Details for the file beavers-0.11.0.tar.gz
.
File metadata
- Download URL: beavers-0.11.0.tar.gz
- Upload date:
- Size: 29.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.15 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8ae647cd479fdb0372b6ad6817be3fff1403270d1644f0b5843e24fa8fb727f |
|
MD5 | 116d5b3aa4dcf292fa46071dbb840dd0 |
|
BLAKE2b-256 | a86cb1c1bc6d188967348c104ad24d49faea9852e01fe91c2f58c8b05ba1631a |
File details
Details for the file beavers-0.11.0-py3-none-any.whl
.
File metadata
- Download URL: beavers-0.11.0-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.15 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b5721d4142d4ca54929dd5c1f5e7e3c410bee8ceaaaba5bcd6e7813003b11fa |
|
MD5 | 31d2727c3d37c1a6ea92fe5ea86f78cf |
|
BLAKE2b-256 | b05673b2fbd83b53114302bb0bb06efed1c84906ee6240776d4ec8777d1f79d9 |