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
- Block: The atomic unit of execution.
- Chain: A linear sequence of Blocks.
- 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
063fd69a52ac70aafa8ac2f003205877525d23c7840f12a0ecaa7424a2c7ec43
|
|
| MD5 |
b2c72d9112670b4c9f3af72bc0ba8afb
|
|
| BLAKE2b-256 |
ceeeca607284dc43ffea0b6529c972315081dfef124957e127859cf32a7971a0
|
Provenance
The following attestation bundles were made for vibeblocks-0.1.3.tar.gz:
Publisher:
python-publish.yml on AADigitalBusiness/vibeblocks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibeblocks-0.1.3.tar.gz -
Subject digest:
063fd69a52ac70aafa8ac2f003205877525d23c7840f12a0ecaa7424a2c7ec43 - Sigstore transparency entry: 1096915483
- Sigstore integration time:
-
Permalink:
AADigitalBusiness/vibeblocks@3382263498e259503e5c15b21dd8248924f1dad8 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/AADigitalBusiness
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@3382263498e259503e5c15b21dd8248924f1dad8 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15b706afb5d088bae2683c6d705b1b53231b65227fed47d9c8010b22bbef2b0c
|
|
| MD5 |
d76957bb13a773619fa5556a7f59e60d
|
|
| BLAKE2b-256 |
0a5898f52fad0c01f5e2c6cceb1aaa64b1b962bc137d4edba05226d468274ef5
|
Provenance
The following attestation bundles were made for vibeblocks-0.1.3-py3-none-any.whl:
Publisher:
python-publish.yml on AADigitalBusiness/vibeblocks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibeblocks-0.1.3-py3-none-any.whl -
Subject digest:
15b706afb5d088bae2683c6d705b1b53231b65227fed47d9c8010b22bbef2b0c - Sigstore transparency entry: 1096915486
- Sigstore integration time:
-
Permalink:
AADigitalBusiness/vibeblocks@3382263498e259503e5c15b21dd8248924f1dad8 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/AADigitalBusiness
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@3382263498e259503e5c15b21dd8248924f1dad8 -
Trigger Event:
release
-
Statement type: