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.2.2.tar.gz (491.4 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.2.2-py3-none-any.whl (110.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for geronimo-0.2.2.tar.gz
Algorithm Hash digest
SHA256 53409b3cf99da924f19b9dc22c6e914d6885129e309661493f555872530ba521
MD5 b460e4d2cd6b1896b55038ef2fb94155
BLAKE2b-256 1e0ad912183b64df76982ddabb116e9c165468fd7901343eb974b38a827b4e28

See more details on using hashes here.

Provenance

The following attestation bundles were made for geronimo-0.2.2.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.2.2-py3-none-any.whl.

File metadata

  • Download URL: geronimo-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 110.2 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d659c93b51ed789455b502802fe5b45d78feceeee531d38d63d1e37e6b50cee3
MD5 e2b3f9327f58ba60900a48c5d751d8ee
BLAKE2b-256 4d73d3dc1b8335b31212c7e21c684959c5b905b551aa4ae03ac5edbb50357d1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for geronimo-0.2.2-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