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.4.tar.gz (16.5 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.4-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vibeblocks-0.1.4.tar.gz
  • Upload date:
  • Size: 16.5 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.4.tar.gz
Algorithm Hash digest
SHA256 e46b77adb010d67e15417667890af6b9473d2bef9a344a3c943c7ae3dd49c7bd
MD5 492d87c62e0370157d1b019b1bdb1d3d
BLAKE2b-256 d28427a16b53c87ad94c809e00bc36a4a6cb9ef5a0c2a22d7af5e816263a152f

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibeblocks-0.1.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: vibeblocks-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2c319db9f431aad5d04ecddf28b7fb04223653044d0870f4702f3da88a5fd003
MD5 6581080e2746b47cff50e5052a94cbbc
BLAKE2b-256 d6886f47538323a0bd4f5ae78e0c913fc679187cee5e5fffcd7bc6357bb54532

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibeblocks-0.1.4-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