monty README

The project's README from github.com/pydantic/monty. As one markdown file: README.md.

Monty

A secure Python sandbox, written in Rust, for code written by AI.

CI Codspeed Coverage PyPI NPM crates.io license Join Slack

Monty avoids the latency, complexity and cost of a container based sandbox for running LLM generated code. It comes in two forms: OSS Monty, the MIT licensed Python 3.14 sandbox you install as a package, and Full Monty, the commercial server that runs the same sandbox behind a WebSocket as a service.

A new OSS Monty sandbox takes under 1ms from a running pool (Full Monty: about 2ms) compared to around 1500ms for a sandbox service.

Filesystem, environment variables and network do not exist inside the sandbox: it reaches the host only through the functions and mounts you pass in.

Documentation: pydantic.dev/docs/monty

Install

uv add pydantic-monty        # Python
npm install @pydantic/monty  # JavaScript / TypeScript
cargo add monty              # Rust

The commercial Full Monty runs the same workers as a container image.

Example

The code string is what a model writes when asked how long a bar of chocolate could power a lightbulb:

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 ran on the host and the sandbox saw only its return value.

Documentation

Monty runs Code Mode in Pydantic AI. Community bindings: gomonty (Go) and dart_monty (Dart / Flutter).

Part of the Pydantic Stack

The Pydantic Stack is everything you need to ship production-grade AI agents:

monty (pydantic/monty)

Searching Database…

8.7K ·GitHub
Что это?Monty — минималистичный безопасный интерпретатор Python, написанный на Rust и созданный для того, чтобы AI-модели могли запускать сгенерированный Python-код без задержек и накладных расходов контейнерной песочницы.
Это библиотека для установки или хостинговый сервис?Он существует в двух видах: OSS Monty — Python-пакет под лицензией MIT, который вы устанавливаете напрямую, и Full Monty — коммерческий сервер, запускающий ту же песочницу за WebSocket как сервис.
С чего начать?Установите OSS Monty как Python-пакет и следуйте руководству по началу работы из документации для Python, JavaScript или Rust; коммерческий Full Monty разворачивается как контейнерный образ тех же воркеров.
Нужен ли Python 3.14, или вызывать можно и из других языков?OSS Monty нацелен на Python 3.14, но есть биндинги от сообщества для Go (gomonty) и Dart/Flutter (dartmonty), плюс нативные руководства по началу работы для JavaScript и Rust.
Чего не может код в песочнице?Внутри песочницы нет файловой системы, переменных окружения и сети — код может касаться хоста только через функции и монтирования, которые вы явно передали, и выполняет лишь поддерживаемое подмножество Python.
Monty полностью открыт или нужна платная подписка?Сам OSS Monty распространяется по лицензии MIT и бесплатен для установки пакетом; Full Monty — отдельная коммерческая хостинговая версия, если вам нужен управляемый WebSocket-сервис.
Насколько Monty быстрее песочницы на контейнерах?Новая песочница OSS Monty стартует менее чем за 1 мс из горячего пула (около 2 мс у Full Monty) — против примерно 1500 мс у типичного контейнерного сервиса-песочницы.
Как Monty связан с Pydantic AI?Monty питает функцию 'Code Mode' в Pydantic AI и является частью более широкого Pydantic Stack, наряду с Pydantic Logfire и Logfire AI Gateway.
Могу ли я запустить Full Monty сам?Full Monty — коммерческое предложение Pydantic: те же воркеры песочницы, упакованные в контейнерный образ и доступные за WebSocket API, а не то, что вы хостируете сами из исходников.
Как Monty сравнивается с песочницами Docker, Pyodide или WASI?В документации есть прямое сравнение с этими альтернативами: утверждается, что Monty избавлен от их задержек старта контейнера, сложности и стоимости, продолжая изолировать код, сгенерированный AI.
What are similar projects?daytona, SPACE, smolvm, CubeSandbox, moejs, box, OpenSandbox, quicksand
Creator
pydantic
Size
18.9 MB
Stars
8.7K
Age
3y
Commits · 90 Days