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

Uploaded Python 3

File details

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

File metadata

  • Download URL: vibeblocks-0.1.2.tar.gz
  • Upload date:
  • Size: 15.7 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.2.tar.gz
Algorithm Hash digest
SHA256 e11741e76308f9b463d6f8f5603029741e8f42aba264423a0c59f2055677a566
MD5 f7616fac6988ea6e9d7faf60a50551f4
BLAKE2b-256 f40956fcc636c11006e88a17f5de90904280ae62ed3e2424b0946b3a2651a56c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: vibeblocks-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0e9c0fcdf6b47f03ee74e42adbd8f6c781a8ce3dfafb307d0b4762536829f013
MD5 39ab5b0d097f171049ac9600ff1247d0
BLAKE2b-256 7d456214aa1079334d6a53660903f299805efdb8393c78c415f36d2bc445f613

See more details on using hashes here.

Provenance

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