Skip to main content

Simple AI workflow orchestration with time travel for development

Project description

Ombra - Simple AI Workflow Orchestration with Time Travel

Simple Python workflow orchestration with checkpointing and time travel for development.

Installation

For local development:

# From this directory
uv run examples/test_basic.py

# Or install locally in another project
uv add --editable /path/to/ombra

Quick Start

from ombra import Workflow

# Create a workflow
wf = Workflow(name="my_workflow")

# Decorate your functions
@wf.step()
def fetch_data(query: str) -> dict:
    return {"query": query, "results": ["item1", "item2"]}

@wf.step()
def process_data(data: dict) -> list:
    return [item.upper() for item in data["results"]]

# Run normally - checkpoints saved automatically
data = fetch_data("AI frameworks")
processed = process_data(data)

# List all checkpoints
wf.list_checkpoints()

# Time travel: Resume from any step
result = wf.resume_from("process_data")

# Resume with modified inputs
result = wf.resume_from(
    "process_data",
    modify_inputs={"data": {"query": "test", "results": ["new"]}}
)

Features

  • Decorator-based API - Write normal Python functions
  • Automatic checkpointing - Every step execution is saved
  • Time travel - Resume from any step
  • Modify inputs - Change inputs when resuming for debugging
  • File-based storage - Simple pickle files, no external services
  • Zero dependencies - Just Python stdlib

Checkpoints

Checkpoints are saved to .ombra_checkpoints/{workflow_name}/ directory. Each checkpoint includes:

  • Step name and timestamp
  • Input arguments (args and kwargs)
  • Output values
  • Metadata

Development Only

This is designed for development and debugging workflows, not production. The checkpoint system helps you:

  • Debug complex workflows step by step
  • Avoid re-running expensive operations
  • Test different inputs at any step
  • Understand workflow state at each stage

Next Steps

This is a minimal MVP. Future additions:

  • Async support
  • Automatic flow chaining
  • DAG support for parallel execution
  • Retry and error handling decorators
  • SQLite storage option
  • Better visualization of checkpoints

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

ombra-0.1.0.tar.gz (81.5 kB view details)

Uploaded Source

Built Distribution

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

ombra-0.1.0-py3-none-any.whl (33.4 kB view details)

Uploaded Python 3

File details

Details for the file ombra-0.1.0.tar.gz.

File metadata

  • Download URL: ombra-0.1.0.tar.gz
  • Upload date:
  • Size: 81.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for ombra-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0fcfb7948cb267d74a84bcfefd980e95567cc2e43d504a06478f1725eff013b3
MD5 df3c27054c2a143a6c7c0f1f4315f1ec
BLAKE2b-256 8d9bddd6a50596795d99cc9d340541f1a234a4451572e1787c324e864e9510a5

See more details on using hashes here.

File details

Details for the file ombra-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ombra-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for ombra-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f48395cc372a0e511e33106f49392d8b9bb25ef4924dfd43d732f318c10c5dc6
MD5 19f3340cb41a49a8ffaee7233ec75d34
BLAKE2b-256 5e2076a97896f459934c94acd2ae8621d718cb01312e2ae15f5e8ca7d6d78d19

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