Skip to main content

ML deployment framework - from local development to production with one command

Project description

Geronimo: The Declarative ML Framework For AI

Build, train, and deploy ML models with production-ready infrastructure and Generative AI MCP support from the start.

Geronimo is like dbt for AI:

Why Geronimo?

🚀 Ship Models Faster

Stop writing boilerplate. One command creates a runnable project with FastAPI endpoints, monitoring, and CI/CD ready to go.

geronimo init --name iris-realtime
cd iris-realtime && uv sync
uvicorn iris-realtime.app:app --reload  # API running in seconds

🧩 Simpler Development

Define your model's what, not the how. The SDK has 5 components—each maps to one file:

Component File Purpose
DataSource data_sources.py Where your data comes from
FeatureSet features.py How to transform raw data
Model model.py Training and prediction logic
Endpoint endpoint.py Request/response handling (realtime)
Pipeline pipeline.py Batch job orchestration (batch)

data_sources.py — Declare your data

training_data = DataSource(name="training", source="snowflake", query=Query.from_file("train.sql"))

features.py — Define transformations

class IrisFeatures(FeatureSet):
    sepal_length = Feature(dtype="numeric", transformer=StandardScaler())
    sepal_width = Feature(dtype="numeric", transformer=StandardScaler())
    petal_length = Feature(dtype="numeric", transformer=StandardScaler())
    petal_width = Feature(dtype="numeric", transformer=StandardScaler())

model.py — Train and predict

class IrisModel(Model):
    name = "iris-realtime"
    features = IrisFeatures()
    
    def train(self, X, y, params): ...
    def predict(self, X): ...

endpoint.py — Handle requests (realtime)

class PredictEndpoint(Endpoint):
    def preprocess(self, request): ...
    def postprocess(self, prediction): ...

pipeline.py — Run batch jobs

class ScoringPipeline(BatchPipeline):
    schedule = Schedule.daily(hour=6)
    def run(self): ...

🤖 GenAI Agent-Ready

Every project is automatically exposed as an MCP tool. AI agents like Claude can call your models directly—no extra work required.

{
  "mcpServers": {
    "iris-realtime": {
      "command": "uv",
      "args": ["run", "python", "-m", "iris-realtime.agent.server"]
    }
  }
}

"Analyze this transaction for fraud risk"
→ Claude calls your model → Returns risk score


Getting Started

pip install geronimo
geronimo init --name my-model --template realtime

Choose your template:

Template Use Case Output
realtime REST APIs, low-latency FastAPI + monitoring
batch Scheduled jobs, bulk scoring Metaflow + drift detection
both APIs + scheduled pipelines Everything

What You Get

A complete, runnable project structure:

my-model/
├── src/my_model/
│   ├── sdk/                    # Define your model here
│   │   ├── model.py            # train() + predict()
│   │   ├── features.py         # Feature transformations
│   │   ├── endpoint.py         # Request/response handling
│   │   └── monitoring_config.py
│   ├── app.py                  # FastAPI (auto-generated)
│   └── train.py                # Training script
├── geronimo.yaml               # Deployment config
└── models/                     # Saved artifacts

Focus on the sdk/ folder. Everything else is generated for you.

Deploy to Production

geronimo generate all

Generates:

  • Terraform — ECS Fargate infrastructure
  • Dockerfile — Optimized for ML serving
  • CI/CD — Azure DevOps / GitHub Actions pipelines

Integrations

Integration Purpose
MLflow Experiment tracking, artifact store
Snowflake/Postgres Data sources for training
CloudWatch Production metrics
Slack Alerts for drift/errors
MCP AI agent tool exposure

Documentation

Installation

pip install geronimo                  # Core
pip install geronimo[mlflow]          # + MLflow
pip install geronimo[databases]       # + Snowflake, Postgres
pip install geronimo[all]             # Everything

Apache 2.0 LicenseGitHub

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

geronimo-0.3.0.tar.gz (513.7 kB view details)

Uploaded Source

Built Distribution

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

geronimo-0.3.0-py3-none-any.whl (130.4 kB view details)

Uploaded Python 3

File details

Details for the file geronimo-0.3.0.tar.gz.

File metadata

  • Download URL: geronimo-0.3.0.tar.gz
  • Upload date:
  • Size: 513.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geronimo-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1925e6d62c66eda804637cefec8c094ce663ea0a98412963db5e84e12c242a5a
MD5 30536255dc3fb2313d55fdbfaaf70f6f
BLAKE2b-256 864cf00b9fca82d5a5580e397b1a5f71b0968256eb12665ce7c0a778ef3f6f73

See more details on using hashes here.

Provenance

The following attestation bundles were made for geronimo-0.3.0.tar.gz:

Publisher: publish.yml on geronimo-deploy-cloud/geronimo

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

File details

Details for the file geronimo-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: geronimo-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 130.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geronimo-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4e6e34261c94a07969ce0e1588741dc85ac6f548cb4bfabeb1e70383a6d491c
MD5 3e2f1bd5589f9f7864da7fb92f7b4059
BLAKE2b-256 782a47672d0c4804f9f29d9bdf0fda35c93abee4fe9a9228ed43fa68add878c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for geronimo-0.3.0-py3-none-any.whl:

Publisher: publish.yml on geronimo-deploy-cloud/geronimo

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