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.10.0.tar.gz
(29.7 kB
view details)
Built Distribution
beavers-0.10.0-py3-none-any.whl
(31.4 kB
view details)
File details
Details for the file beavers-0.10.0.tar.gz
.
File metadata
- Download URL: beavers-0.10.0.tar.gz
- Upload date:
- Size: 29.7 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 | 6371e4b8ca08c77a6a93287d20bf0dcbe9a04f65743b5d900bf805cd9b442877 |
|
MD5 | acd74515cd956f7d5280422d475231f8 |
|
BLAKE2b-256 | ef73446b41d7ca6745d55bff672310708996c995b39010688216ba2035251ba1 |
File details
Details for the file beavers-0.10.0-py3-none-any.whl
.
File metadata
- Download URL: beavers-0.10.0-py3-none-any.whl
- Upload date:
- Size: 31.4 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 | ea6a680cdcd67164f54e94d010bd98582ea6ca6f3fe5760b53ee66a7a1a206db |
|
MD5 | 66dc6fb80a55594dcfcd0fb9bdbfc643 |
|
BLAKE2b-256 | 2368af035ced42e134918d7318f002767f43493fc9f1347fc459cb2088e56c28 |