
monty v0.0.22
Un interprete Python minimale e sicuro scritto in Rust per uso da parte dell'IA
Monty
Una sandbox Python sicura, scritta in Rust, per codice generato dall'IA.
Monty evita la latenza, la complessità e i costi di una sandbox basata su container per l'esecuzione di codice generato da LLM. È disponibile in due forme: OSS Monty, la sandbox Python 3.14 con licenza MIT che si installa come pacchetto, e Full Monty, il server commerciale che esegue la stessa sandbox dietro un flusso gRPC come servizio.
Una nuova sandbox OSS Monty richiede meno di 1ms da un pool in esecuzione (Full Monty: circa 2ms) rispetto a circa 1500ms per un servizio sandbox.
Filesystem, variabili d'ambiente e rete non esistono all'interno della sandbox: raggiunge l'host solo tramite le funzioni e i mount che gli si passano.
Documentazione: pydantic.dev/docs/monty
Installazione
uv add pydantic-monty # Python
npm install @pydantic/monty # JavaScript / TypeScript
cargo add monty # Rust
Il Full Monty commerciale esegue gli stessi worker come immagine container.
Esempio
La stringa code è ciò che un modello scrive quando gli viene chiesto per quanto tempo una tavoletta di cioccolato potrebbe alimentare una lampadina:
from pydantic_monty import Monty
code = """
kcal = nutrition('chocolate bar')['kcal']
hours = kcal * 4184 / (bulb_watts * 3600)
print(f'a chocolate bar powers a {bulb_watts} W bulb for {hours:.1f} hours')
"""
with Monty() as pool:
with pool.checkout() as session:
session.feed_run(
code,
inputs={'bulb_watts': 10},
external_lookup={'nutrition': lambda food: {'kcal': 230}},
)
#> a chocolate bar powers a 10 W bulb for 26.7 hours
nutrition veniva eseguito sull'host e la sandbox vedeva solo il suo valore di ritorno.
Documentazione
- Introduzione con le misurazioni della latenza
- Confronto con le alternative: Docker, Pyodide, WASI, servizi di sandboxing
- Per iniziare con Python, JavaScript o Rust
- Modello di sicurezza, limiti delle risorse, snapshot, il sottoinsieme di Python
docs/: il sorgente del sito di documentazione
Monty esegue Code Mode in Pydantic AI. Binding della community: gomonty (Go) e dart_monty (Dart / Flutter).
Parte dello Stack Pydantic
Lo Stack Pydantic è tutto ciò che serve per distribuire agenti AI di livello produttivo:
- Pydantic AI - Framework per agenti con tipizzazione sicura
- Pydantic Logfire - Osservabilità full-stack, AI-first
- Logfire AI Gateway - Proxy LLM unificato