Skip to main content

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, MCP Support, monitoring, and CI/CD ready to go.

geronimo init --name iris-realtime --framework sklearn --template realtime

Initializing project: iris-realtime
  Template: realtime
╭───────────────────────────────────────────────────────────────╮
│ ✓ Project 'iris-realtime' created successfully!               │
│                                                               │
│ Template: realtime                                            │
│                                                               │
│ Next steps:                                                   │
│   1. cd iris-realtime                                         │
│   2. uv sync                                                  │
│   3. uvicorn iris_realtime.app:app --reload  # Run API server │
╰───────────────────────────────────────────────────────────────╯

🧩 Simpler Development

Define your model's what, not the how. The SDK has 4 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
MonitoringConfig monitoring_config.py Monitoring and drift detection settings

Then, depending on the template you choose, you'll also have:

Component File Purpose
Endpoint endpoint.py Request/response handling (realtime)
Pipeline pipeline.py Batch job orchestration (batch)

Common Components:

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): ...
monitoring_config.py — Configure monitoring
class IrisMonitoringConfig(MonitoringConfig):
    drift_threshold = 0.1
    alert_email = "[EMAIL_ADDRESS]"

Deployment Specific:

pipeline.py — Run batch jobs
class ScoringPipeline(BatchPipeline):
    schedule = Schedule.daily(hour=6)
    def run(self): ...
endpoint.py — Handle realtime requests
class IrisRealtimeEndpoint(Endpoint):
    def preprocess(self, request): ...
    def postprocess(self, prediction): ...
🤖 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

Installation Options

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

1. Install and Configure

pip install geronimo

# First-time setup: configure artifact storage
geronimo config init

The setup wizard lets you choose where to store trained models:

  • local — ~/.geronimo/artifacts (default)
  • s3 — Your S3 bucket
  • cloud — Geronimo Cloud (requires geronimo auth login)

2. Create a Project

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 (realtime shown):

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.

Integrations

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

Deploy to Production

Deploy Directly through Pulumi

geronimo deploy up --project my-model --target aws

Deploy through CI/CD

geronimo generate all

This will generate:

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

Deploy to Geronimo Cloud (managed)

geronimo auth login
geronimo deploy up --project my-model --target gdc

Documentation


Apache 2.0 License • GitHub

Metadata

Release files for geronimo 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geronimo 0.5.0
File Size Uploaded Provenance Actions
geronimo-0.5.0.tar.gz 889.5 kB With provenance Details for geronimo-0.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for geronimo 0.5.0
File Interpreter ABI Platform Actions
geronimo-0.5.0-py3-none-any.whl Python 3 none any Details for geronimo-0.5.0-py3-none-any.whl

Total release size: 1.0 MB

Release files / geronimo-0.5.0.tar.gz

Download URL geronimo-0.5.0.tar.gz
Size 889.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c2b29038dea106c1a0c95f7bf142d8480e541c6fee54e630c25fc756c85615e2
BLAKE2b-256 checksum
How to use checksums
5aec7966c8aab89151e27abe35ddf0d48a6bd7cdca3db36283f38a39aec0d993
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

Release files / geronimo-0.5.0-py3-none-any.whl

Download URL geronimo-0.5.0-py3-none-any.whl
Size 153.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
166e10bf14413335cde0b81b67de1152ed4b9e6a1a6cf97d12b55c1838588634
BLAKE2b-256 checksum
How to use checksums
68fac2b1cd87d60545ee5d75834011ed3de6f6748334e30d02585dfc7a29b708
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

Security for geronimo 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for geronimo-0.5.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page