Skip to main content
Version: 0.1.5

marimo

marimo is a reactive Python notebook where cells re-run automatically when their inputs change. It has a built-in AI cell assistant that calls an OpenAI-compatible endpoint — point it at Routerly to route those calls through your policies.


Install​

pip install marimo

Configure​

AI cell assistant​

marimo's built-in AI features read from environment variables. Set them before launching:

export OPENAI_API_KEY="sk-rt-YOUR_PROJECT_TOKEN"
export OPENAI_BASE_URL="http://localhost:3000/v1"
marimo edit notebook.py

SDK calls inside cells​

You can also use the OpenAI or Anthropic SDK directly inside marimo cells:

import marimo as mo
from openai import OpenAI

client = OpenAI(
base_url="http://localhost:3000/v1",
api_key="sk-rt-YOUR_PROJECT_TOKEN",
)

prompt = mo.ui.text(placeholder="Ask something…")
prompt
# Runs reactively whenever `prompt` changes
if prompt.value:
response = client.chat.completions.create(
model="gpt-5-mini",
messages=[{"role": "user", "content": prompt.value}],
)
mo.md(response.choices[0].message.content)

Usage​

Launch your notebook with marimo edit notebook.py. The AI cell assistant button and any direct SDK calls will route through Routerly. Usage data appears in the Routerly dashboard under Usage.