Core package for the brickblock library.
Project description
Example Pipeline with brickblock [bb-core]
Overview
This project demonstrates how to build a flexible data processing pipeline using the bb-core library. The pipeline is designed to process data through a series of functions or modules, supporting both synchronous and asynchronous execution, with real-time updates via server-sent events (SSE).
Installation
-
Install the repository:
pip install bb-core
-
Set up a virtual environment (optional but recommended):
python -m venv venv
Activate the virtual environment:
- Windows:
.env\Scriptsctivate - macOS/Linux:
source venv/bin/activate
- Windows:
Project Structure
- Pipeline Class: Manages the flow of data through a series of functions.
- BaseModule Class: Abstract base class that all modules should inherit from. Modules must implement the following methods:
run(): The main processing function.onProgressStartMessage(): Sends a progress start message.onProgressEndMessage(): Sends a progress end message.
- SSE Generator: Asynchronous generator that sends real-time updates to clients.
Example Usage
from your_module import Pipeline, BModule, InputModel2
# Initialize the pipeline
pipeline = Pipeline.init(name="example_pipeline", sse=True)
# Add a module to the pipeline
bmodule = BModule()
pipeline.modules([bmodule])
# Input data for the pipeline
input_data = {"c": 5.0}
# Asynchronously run the pipeline and get SSE events
async def test_sse():
async for event in pipeline.sse_generator(InputModel2(**input_data)):
print(event)
# Run the asynchronous SSE generator
asyncio.run(test_sse())
This project is licensed under the MIT License.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bb_core-0.3.12.tar.gz.
File metadata
- Download URL: bb_core-0.3.12.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ccd54c9f166e69dcfa13ef3adc7062fc03a7ae5ceab4d321ad55588b4628d18
|
|
| MD5 |
078ca91b0816a7aa8cae6cf7c2f45c9a
|
|
| BLAKE2b-256 |
be2fa81ff3642accd1ef008d8a8d02888c688fd065c8ce2e24ef4c1d6a58e853
|
File details
Details for the file bb_core-0.3.12-py3-none-any.whl.
File metadata
- Download URL: bb_core-0.3.12-py3-none-any.whl
- Upload date:
- Size: 27.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fe2761c53cc73f6d17ff285ddb3d3cb5e63ea5b04a02c22831d5008089733d6
|
|
| MD5 |
995bcdf7657585a4cbe276ab6ba43406
|
|
| BLAKE2b-256 |
78c665f84109b9c7ffd3e299527744857813472190707c0fa00c0d6accdcb4c3
|