Quick start
Prerequisites
Docker: oblako runs services as local containers.
Python 3.10+
Install
pip install oblako
Or from source:
git clone https://github.com/almostly/oblako && cd oblako
pip install -e .
Start the services
oblako up # start all services
oblako pull qwen2.5:0.5b # pull a model into the Bedrock (Ollama) engine
oblako dashboard # web UI at http://localhost:8000
Your AWS code just works
Each service is reached through its normal boto3 client. In a notebook or with
the endpoint env vars set, unmodified boto3 transparently hits the local
service, no endpoint_url:
import boto3
s3 = boto3.client("s3") # -> S3Proxy
s3.create_bucket(Bucket="demo")
ddb = boto3.client("dynamodb") # -> DynamoDB Local
ddb.list_tables()
Or go through the service handles, which also expose native drivers:
from oblako.services import Oblako
o = Oblako()
o.redshift.get_client() # boto3.client("redshift") -> moto control plane
o.redshift.connect() # psycopg2 / redshift-connector -> the real engine
Start a single service
oblako up redshift # just Redshift
oblako logs opensearch # tail a service's logs
oblako down stepfunctions # stop one service
Service names: bedrock, opensearch, redshift, rds, moto, s3,
dynamodb, stepfunctions (ollama aliases bedrock; aurora aliases rds).
CLI reference
Command |
Description |
|---|---|
|
Start all services (or a specific one) |
|
Stop all services (or a specific one) |
|
Show service status |
|
Start the web dashboard (default: 8000) |
|
Launch JupyterLab wired to oblako (default: 8888) |
|
Start the Redshift Data API server (default: 8002) |
|
Start the Bedrock Runtime server (default: 8004) |
|
Start the RDS Data API server (default: 8006) |
|
Start the CloudFormation server (default: 5601) |
|
Run a local AgentCore agent (default: 8080) |
|
Show logs for a service |
|
Pull a model into the engine (default: |
|
List available Ollama models |
|
Run unit tests |
|
Run integration tests (requires services running) |