Skip to main content

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

  1. Install the repository:

    pip install bb-core
    
  2. 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
      

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


Download files

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

Source Distribution

bb_core-0.3.12.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bb_core-0.3.12-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

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

Hashes for bb_core-0.3.12.tar.gz
Algorithm Hash digest
SHA256 1ccd54c9f166e69dcfa13ef3adc7062fc03a7ae5ceab4d321ad55588b4628d18
MD5 078ca91b0816a7aa8cae6cf7c2f45c9a
BLAKE2b-256 be2fa81ff3642accd1ef008d8a8d02888c688fd065c8ce2e24ef4c1d6a58e853

See more details on using hashes here.

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

Hashes for bb_core-0.3.12-py3-none-any.whl
Algorithm Hash digest
SHA256 7fe2761c53cc73f6d17ff285ddb3d3cb5e63ea5b04a02c22831d5008089733d6
MD5 995bcdf7657585a4cbe276ab6ba43406
BLAKE2b-256 78c665f84109b9c7ffd3e299527744857813472190707c0fa00c0d6accdcb4c3

See more details on using hashes here.

Supported by

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