Registry / ai-ml / outerbounds

outerbounds

JSON →
library0.12.36pypypi✓ verified 84d ago

Outerbounds is an opinionated distribution of Metaflow, designed to streamline machine learning workflows by providing pre-configured cloud infrastructure and a curated set of dependencies. It aims to reduce administrative overhead, allowing data scientists to focus more on model development. The current version is 0.12.28 and it follows a continuous release cadence, often aligning with Metaflow updates.

pip install outerbounds
INSTALL
IMPORT
SIG · OUTERBOUNDS
O
outerbounds
ai-mlpythonv0.12.36
Install
8.6s avg
Import
1548ms
Disk
124MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.12.36 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 1.616s · 120.4MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 8.6s · import 1.480s · 122MB
124MB installed
● package 124MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

FlowSpec
from metaflow import FlowSpec
step
from metaflow import step
current
from metaflow import current
project
from metaflow import project
from outerbounds import project
Outerbounds itself does not introduce new APIs; all core Metaflow symbols are imported directly from 'metaflow'.

This quickstart demonstrates a basic Metaflow workflow. While `outerbounds` provides underlying configuration for cloud execution, the code itself remains standard Metaflow. To run this, save it as a Python file (e.g., `my_flow.py`) and execute `python my_flow.py run` from your terminal. For cloud execution, you'll need to configure your Outerbounds environment (e.g., `metaflow configure aws`).

from metaflow import FlowSpec, step class MyFirstFlow(FlowSpec): @step def start(self): self.message = 'Hello, Outerbounds!' print(self.message) self.next(self.end) @step def end(self): print(f"Flow finished with message: {self.message}") if __name__ == '__main__': MyFirstFlow()
Debug
Known issues
gotchaOuterbounds is primarily a distribution and configuration layer for Metaflow. It does not introduce new Python APIs compared to `metaflow`. All core functionalities and imports come directly from the `metaflow` package.
fix
Always refer to `metaflow` documentation for API usage. Think of `outerbounds` as the 'batteries included' version of `metaflow`.
affects: All versions
gotchaThe primary value of `outerbounds` comes from its pre-configured cloud integration (AWS, Kubernetes). While you can run flows locally, leveraging its full capabilities requires proper cloud setup and authentication.
fix
Ensure your environment is correctly configured for your chosen cloud provider (e.g., AWS credentials, Kubernetes context) before attempting to run flows on the cloud. Consult the Outerbounds/Metaflow documentation for specific `metaflow configure` commands.
affects: All versions
gotchaWhen running flows in a distributed cloud environment, ensure all necessary Python dependencies are specified. `outerbounds` bundles common ML dependencies, but custom or less common packages may need to be explicitly listed using `@conda`, `@pypi`, or `@pip` decorators in your Metaflow code.
fix
For each step, identify external dependencies and add appropriate decorators (e.g., `@conda(libraries={'scikit-learn': '1.0'})`) to ensure they are available in the execution environment. Missing dependencies are a common source of runtime errors in cloud steps.
affects: All versions
breakingWhile `outerbounds` aims for stability, underlying `metaflow` versions may introduce breaking changes. Upgrading `outerbounds` implicitly upgrades `metaflow` and its dependencies, which can occasionally lead to unexpected behavior if your code relies on deprecated `metaflow` features.
fix
Before major upgrades of `outerbounds` (or when `metaflow` itself gets a major upgrade), review the `metaflow` release notes for breaking changes. Test your critical workflows in a staging environment.
affects: Metaflow versions 2.x to 3.x (and subsequent major versions)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'metaflow'
The `outerbounds` package, despite being a distribution, explicitly depends on `metaflow`. This error indicates that `metaflow` itself was not installed or is not accessible in the current Python environment.
fix
Ensure `outerbounds` (and thus `metaflow`) is installed correctly: `pip install outerbounds`. If using virtual environments, activate the correct environment.
RuntimeError: Failed to connect to backend: Failed to connect to S3 (AWS) / Failed to connect to Kubernetes (K8s)
This typically means your cloud environment (AWS, Kubernetes) is not properly configured, or your credentials are missing/invalid for Metaflow to store/retrieve data or orchestrate tasks.
fix
Verify your cloud credentials and configuration. For AWS, run `aws configure` or ensure `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_DEFAULT_REGION` are set. For Kubernetes, ensure your `kubectl` context is correct and `metaflow configure kubernetes` has been run.
Flow 'MyFlow' did not find any steps. Did you decorate your methods with '@step'?
A Metaflow flow requires at least one method decorated with `@step`. This error occurs if no methods in your `FlowSpec` subclass are marked as steps.
fix
Ensure that all methods intended as steps in your Metaflow flow are decorated with `@step` (e.g., `@step
def start(self):`).
AttributeError: 'SomeFlow' object has no attribute 'some_data'
Attempting to access a data attribute (e.g., `self.some_data`) in a Metaflow flow before it has been set in a preceding step, or if there's a typo.
fix
Metaflow data attributes are passed between steps. Ensure `self.some_data = value` is set in an earlier step before it's accessed in a later one. Verify variable names for typos.
Upgrade
Version history
0.12.36latest on PyPI · released Jun 15, 2026
Audit
Dependencies
metaflowrequiredOuterbounds is a distribution of Metaflow; all core functionality is provided by Metaflow.
Agent activity
17 hits · last 30 days
node
14
Amazon
1
OpenAI (training)
1
Resources
outerbounds — pip install outerbounds · libregistry