Skip to main content

Declarative ML framework: write a Pipeline once, run it anywhere — local Docker, AWS, GCP, Azure, or routed to the cheapest cloud.

Project description

Ophelian

Ophelian

Write your ML pipeline once. Run it anywhere. Route to the cheapest available GPU across AWS, GCP, and Azure.

PyPI Python versions License: Apache 2.0 CI Docs


Ophelian is a small, opinionated Python framework for taking ML / AI prototypes to production without rewriting them every time the runtime changes. Declare a Pipeline, pick an env, and Ophelian compiles + runs it — locally in Docker, on AWS, GCP, or Azure, or routed automatically to the cheapest cloud for the GPU you need.

Install

pip install ophelian                  # core, runs locally
pip install 'ophelian[aws]'           # + EC2 / S3
pip install 'ophelian[gcp]'           # + GCE / GCS
pip install 'ophelian[azure]'         # + Azure VM / Blob
pip install 'ophelian[huggingface]'   # + Transformers + PyTorch
pip install 'ophelian[all]'           # every adapter and provider

Python 3.11+. Full extras list (pytorch, sklearn, xgboost, otel, ...) in pyproject.toml.

Hello, pipeline

from ophelian import Pipeline, Train, Auto

pipe = Pipeline([
    Train(
        model="meta-llama/Llama-3.2-1B",
        data="s3://my-bucket/dataset.jsonl",
        epochs=3,
    ),
])

# Picks the cheapest A100 across AWS / GCP / Azure right now.
pipe.run(env=Auto(cheapest_gpu="A100"))

The same source runs on your laptop, on EC2 spot, on a GCE preemptible VM, or on an Azure Spot VM — Ophelian handles checkpointing, artifact persistence (S3 / GCS / Azure Blob), structured logs, and a rich summary at the end.

Envs

from ophelian import Standalone, AWS, GCP, Azure, Auto

Standalone(local=True)                                     # local Docker / in-process
AWS(region="us-east-1", instance="g5.xlarge", spot=True)   # EC2 / S3
GCP(project="p", region="us-central1",
    machine_type="n1-standard-4", gpu_type="nvidia-tesla-t4",
    preemptible=True)                                      # GCE / GCS
Azure(subscription_id=..., resource_group="ml",
      region="eastus", vm_size="Standard_NC6s_v3",
      spot=True)                                           # Azure VM / Blob
Auto(cheapest_gpu="A100",
     regions=["us-east-1", "us-central1", "eastus"])       # cost router

The same Pipeline(...) runs on every one of them. Each cloud env has a Local*Driver mirror so the test suite (and any contributor without cloud creds) exercises the full framework offline.

Why Ophelian

Ophelian SageMaker Vertex AI Azure ML Bare cloud SDKs
Single API across AWS + GCP + Azure
Write pipeline once, run anywhere
Auto-router that picks the cheapest GPU
Spot / preemptible resume partial partial partial DIY
Local-first dev (no cloud auth)
Apache-2.0, no vendor lock-in mixed

Documentation

Full docs live at https://ophelianio.github.io/ophelian/: Quickstart · Concepts · Envs · Cookbook · Troubleshooting.

Runnable examples in examples/. Roadmap and release history in CHANGELOG.md.

Community

Citation

@software{ophelian_2026,
  author    = {Falva, Luis and the Ophelian contributors},
  title     = {{Ophelian: a declarative, multi-cloud ML pipeline framework}},
  year      = {2026},
  version   = {1.0.1},
  license   = {Apache-2.0},
  url       = {https://github.com/ophelianio/ophelian},
}

License

Copyright © 2024–2026 Luis Falva and the Ophelian contributors. Licensed under the Apache License, Version 2.0 — see LICENSE and NOTICE for third-party attributions.

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

ophelian-1.0.1.tar.gz (515.0 kB view details)

Uploaded Source

Built Distribution

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

ophelian-1.0.1-py3-none-any.whl (180.2 kB view details)

Uploaded Python 3

File details

Details for the file ophelian-1.0.1.tar.gz.

File metadata

  • Download URL: ophelian-1.0.1.tar.gz
  • Upload date:
  • Size: 515.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ophelian-1.0.1.tar.gz
Algorithm Hash digest
SHA256 9fa661a120b30c3c6af36f9e6fde2134d14e9cf8d0ebaa2accbd15923743e410
MD5 63b8981ee42b07ee8e07f0cd1c9245c2
BLAKE2b-256 8898df391b55c6f4d5b5826516449fbb158330fdefaa804d1d641ef48a1c9463

See more details on using hashes here.

Provenance

The following attestation bundles were made for ophelian-1.0.1.tar.gz:

Publisher: release.yml on ophelianio/ophelian

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

File details

Details for the file ophelian-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: ophelian-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 180.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ophelian-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ddcd957558f9981c7ac0744cf6f01041d55d7707e03d92c08b4aac4963674f04
MD5 7d908c61256d13b35ffa32f26f7dad0d
BLAKE2b-256 593225cce04226cf0ba65dbd813233c97cb9cc57c589957847a33b821c384ee2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ophelian-1.0.1-py3-none-any.whl:

Publisher: release.yml on ophelianio/ophelian

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