
monty v0.0.22
Un interpréteur Python minimal et sécurisé écrit en Rust pour utilisation par l'IA.
Monty
Un bac à sable Python sécurisé, écrit en Rust, pour du code généré par IA.
Monty évite la latence, la complexité et le coût d'un bac à sable basé sur un conteneur pour exécuter du code généré par un LLM. Il se présente sous deux formes : OSS Monty, le bac à sable Python 3.14 sous licence MIT que vous installez en tant que package, et Full Monty, le serveur commercial qui exécute le même bac à sable derrière un flux gRPC en tant que service.
Un nouveau bac à sable OSS Monty prend moins de 1 ms depuis un pool en cours d'exécution (Full Monty : environ 2 ms) comparé à environ 1500 ms pour un service de bac à sable.
Le système de fichiers, les variables d'environnement et le réseau n'existent pas à l'intérieur du bac à sable : il n'atteint l'hôte que par le biais des fonctions et des montages que vous fournissez.
Documentation : pydantic.dev/docs/monty
Installation
uv add pydantic-monty # Python
npm install @pydantic/monty # JavaScript / TypeScript
cargo add monty # Rust
Le Full Monty commercial exécute les mêmes workers sous forme d'image de conteneur.
Exemple
La chaîne code est ce qu'un modèle écrit lorsqu'on lui demande combien de temps une tablette de chocolat pourrait alimenter une ampoule :
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 s'exécutait sur l'hôte et le bac à sable ne voyait que sa valeur de retour.
Documentation
- Introduction avec les mesures de latence
- Comparaison avec les alternatives : Docker, Pyodide, WASI, services de bac à sable
- Premiers pas avec Python, JavaScript ou Rust
- Modèle de sécurité, limites de ressources, instantanés, le sous-ensemble Python
docs/: la source du site de documentation
Monty exécute le Code Mode dans Pydantic AI. Liaisons communautaires : gomonty (Go) et dart_monty (Dart / Flutter).
Fait partie de la Pydantic Stack
La Pydantic Stack regroupe tout ce dont vous avez besoin pour livrer des agents IA de qualité production :
- Pydantic AI - Framework d'agents typé
- Pydantic Logfire - Observabilité full-stack pensée pour l'IA
- Logfire AI Gateway - Proxy LLM unifié