Skip to content

feat: more sandbox variants#10

Open
echarles wants to merge 22 commits into
mainfrom
feat/client
Open

feat: more sandbox variants#10
echarles wants to merge 22 commits into
mainfrom
feat/client

Conversation

@echarles

@echarles echarles commented Jul 23, 2026

Copy link
Copy Markdown
Member

Fixes #7
Fixes #8
Fixes #5
Fixes #2

Copilot AI review requested due to automatic review settings July 23, 2026 12:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the code_sandboxes package with additional sandbox backends (Monty, Google Colab, Modal) and updates docs/installation guidance so users can select and configure these variants consistently via Sandbox.create(variant=...). It also introduces a new variant-agnostic CodeSandboxClient facade for consumers who just want normalized stdout/stderr/success outcomes.

Changes:

  • Added new sandbox implementations: MontySandbox, ColabSandbox, and ModalSandbox, and wired them into Sandbox.create().
  • Added a new CodeSandboxClient / CodeExecutionOutcome API and exported it from the package.
  • Updated README + docs + optional dependency extras to document the expanded set of variants and setup steps.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
README.md Updates variant list, module layout, extras install commands, and adds per-variant backend setup guides.
pyproject.toml Pins jupyter-kernel-client and adds new optional extras (colab, monty, modal, all).
docs/docs/sandboxes/index.mdx Expands docs with variant-specific credential/parameter guidance and new variants.
docs/docs/installation/index.mdx Adds install instructions and environment variable notes for new variants.
code_sandboxes/monty_sandbox.py New in-process Monty-backed sandbox implementation.
code_sandboxes/colab_sandbox.py New Colab runtime-connected sandbox implementation.
code_sandboxes/modal_sandbox.py New Modal cloud container sandbox implementation.
code_sandboxes/client.py Introduces CodeSandboxClient and normalized CodeExecutionOutcome.
code_sandboxes/base.py Extends factory to support colab, monty, and modal variants.
code_sandboxes/models.py Extends SandboxVariant enum with new variants.
code_sandboxes/init.py Exports new client + new sandbox classes at package top-level.
code_sandboxes/version.py Bumps package version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread code_sandboxes/modal_sandbox.py Outdated
Comment thread code_sandboxes/modal_sandbox.py Outdated
Comment thread code_sandboxes/modal_sandbox.py
Comment thread code_sandboxes/colab_sandbox.py
Comment thread pyproject.toml Outdated
Comment thread code_sandboxes/models.py
Comment thread code_sandboxes/base.py
@echarles echarles changed the title More sandbox variants feat: more sandbox variants Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

{ } Add Modal Sandboxes { } Add 3rd Party Sandboxes { } Add Google Colab Sandboxes { } Add Monty Sandboxes

2 participants