Skip to main content

Lightweight Python workflow orchestration library for AI agents, async task execution, retries, and failure-safe automation.

Project description

VibeBlocks

AI-First Orchestration for Python.

VibeBlocks evolves the concept of task orchestration into an AI-ready framework. It maintains the "Zero-Gravity" architecture (no external dependencies) while introducing a Semantic Layer for LLM integration and dynamic flow generation.

Key Concepts

  1. Block: The atomic unit of execution.
  2. Chain: A linear sequence of Blocks.
  3. Flow: High-level orchestrator with failure strategies.

Installation

pip install vibeblocks

Quick Start

1. Classic Usage

from vibeblocks import Flow, ExecutionContext, block, execute_flow

# 1. Define your blocks with @block decorator
@block(description="Extracts data from source")
def extract(ctx: ExecutionContext):
    print("Extracting data...")
    ctx.data["raw"] = [1, 2, 3, 4, 5]
    return ctx.data["raw"]

@block(description="Doubles the input values")
def transform(ctx: ExecutionContext):
    print("Transforming data...")
    data = ctx.data["raw"]
    ctx.data['processed'] = [x * 2 for x in data]
    return ctx.data['processed']

@block(description="Loads data to destination")
def load(ctx: ExecutionContext):
    print(f"Loading data: {ctx.data['processed']}")
    return True

# 2. Create the Flow
pipeline = Flow("ETL_Flow", [extract, transform, load])

# 3. Execute
result = execute_flow(pipeline, data={})

if result.status == "SUCCESS":
    print("Flow completed successfully!")
else:
    print(f"Flow failed: {result.errors}")

2. AI-Driven Dynamic Flows

VibeBlocks allows LLMs to generate flows on the fly using JSON schemas.

from vibeblocks.vibeblocks import VibeBlocks

# JSON definition (could come from an LLM)
flow_request = {
    "name": "DynamicETL",
    "blocks": ["extract", "transform", "load"],
    "strategy": "ABORT"
}

# Available blocks registry
blocks_registry = {
    "extract": extract,
    "transform": transform,
    "load": load
}

# Execute dynamically
result = VibeBlocks.run_from_json(flow_request, initial_data={}, available_blocks=blocks_registry)

License

MIT License. See LICENSE for details.

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

vibeblocks-0.1.3.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

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

vibeblocks-0.1.3-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file vibeblocks-0.1.3.tar.gz.

File metadata

  • Download URL: vibeblocks-0.1.3.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vibeblocks-0.1.3.tar.gz
Algorithm Hash digest
SHA256 063fd69a52ac70aafa8ac2f003205877525d23c7840f12a0ecaa7424a2c7ec43
MD5 b2c72d9112670b4c9f3af72bc0ba8afb
BLAKE2b-256 ceeeca607284dc43ffea0b6529c972315081dfef124957e127859cf32a7971a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibeblocks-0.1.3.tar.gz:

Publisher: python-publish.yml on AADigitalBusiness/vibeblocks

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vibeblocks-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: vibeblocks-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vibeblocks-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 15b706afb5d088bae2683c6d705b1b53231b65227fed47d9c8010b22bbef2b0c
MD5 d76957bb13a773619fa5556a7f59e60d
BLAKE2b-256 0a5898f52fad0c01f5e2c6cceb1aaa64b1b962bc137d4edba05226d468274ef5

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibeblocks-0.1.3-py3-none-any.whl:

Publisher: python-publish.yml on AADigitalBusiness/vibeblocks

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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