Sobre el proyecto

Monty es un sandbox seguro de Python implementado en Rust, pensado para ejecutar código producido por modelos de IA. En lugar de levantar un contenedor por ejecución, proporciona un intérprete ligero que arranca en menos de un milisegundo desde un pool en ejecución, con el objetivo de reducir la latencia, la complejidad y el coste asociados al sandboxing basado en contenedores. El proyecto se distribuye en dos formas: OSS Monty, un sandbox de Python 3.14 con licencia MIT distribuido como paquete, y Full Monty, un servidor comercial que ejecuta el mismo sandbox detrás de un WebSocket como servicio. El README indica que un nuevo sandbox OSS tarda menos de 1 ms desde un pool en ejecución, y Full Monty alrededor de 2 ms, en comparación con aproximadamente 1500 ms de un servicio de sandbox. Por diseño, el sandbox no contiene sistema de archivos, variables de entorno ni acceso a la red. El código llega al host solo a través de funciones y montajes pasados explícitamente por el llamador. El README ilustra esto con un ejemplo en el que un fragmento escrito por un modelo llama a una función `nutrition` proporcionada por el host; el sandbox recibe únicamente el valor de retorno de la función. La instalación está disponible para Python (`uv add pydantic-monty`), JavaScript/TypeScript (`npm install @pydantic/monty`) y Rust (`cargo add monty`). El Full Monty comercial ejecuta los mismos workers como una imagen de contenedor. La documentación cubre una introducción con mediciones de latencia, una comparación con alternativas como Docker, Pyodide, WASI y servicios de sandboxing, guías de inicio rápido para Python, JavaScript y Rust, y conceptos que incluyen el modelo de seguridad, los límites de recursos, las instantáneas y el subconjunto de Python admitido. Monty se usa para ejecutar Code Mode en Pydantic AI, y existen bindings de la comunidad para Go (gomonty) y Dart/Flutter (dart_monty). Forma parte de Pydantic Stack junto con Pydantic AI, Pydantic Logfire y Logfire AI Gateway.