{ } 📦 Code Sandboxes
Code Sandboxes (code_sandboxes) is a Python package for running code in isolated sandbox variants through a unified API.
Canonical variant names:
jupyterdockerevalmontykagglecolabmodaldatalayer
Documentation
The full documentation is the single source of truth:
- Docs home: https://code-sandboxes.datalayer.tech
- Sandboxes and variant setup: https://code-sandboxes.datalayer.tech/sandboxes
- Installation: https://code-sandboxes.datalayer.tech/installation
- CLI usage: https://code-sandboxes.datalayer.tech/cli
- API reference: https://code-sandboxes.datalayer.tech/api-reference
- Examples: https://code-sandboxes.datalayer.tech/examples
- Comparison: https://code-sandboxes.datalayer.tech/comparison
Published site:
Install
pip install code-sandboxes
For backend-specific extras and credentials, see https://code-sandboxes.datalayer.tech/installation and https://code-sandboxes.datalayer.tech/sandboxes.
Quick Examples
Python: launch a jupyter sandbox
from code_sandboxes import Sandbox
# Option 1: manage a local Jupyter server automatically
with Sandbox.create(variant="jupyter") as sandbox:
print(sandbox.run_code("1 + 1").text) # 2
# Option 2: connect to an existing Jupyter server
with Sandbox.create(
variant="jupyter",
server_url="http://localhost:8888",
token="MY_TOKEN",
) as sandbox:
sandbox.run_code("x = 40")
print(sandbox.run_code("x + 2").text) # 42
CLI REPL: kaggle variant
Kaggle REPL supports both interactive runtime mode and credential-based batch mode.
Required credentials for batch mode:
~/.kaggle/kaggle.json, orKAGGLE_API_KEY
# Install Kaggle support
pip install code-sandboxes[kaggle]
# Optional: env-based credentials (if not using ~/.kaggle/kaggle.json)
export KAGGLE_API_KEY="<your-kaggle-api-key>"
# Launch the REPL
sandbox repl --variant kaggle
Kaggle
Kaggle supports both batch execution and interactive connections through the
kaggle sandbox. Install its optional dependency first:
pip install "code-sandboxes[kaggle]"
For batch execution, configure Kaggle credentials and create the sandbox without a runtime URL:
from code_sandboxes import Sandbox
with Sandbox.create(variant="kaggle") as sandbox:
result = sandbox.run_code("print('hello from kaggle')")
print(result.stdout)
The lower-level batch API is also available directly:
from code_sandboxes import KaggleKernelExecutor
executor = KaggleKernelExecutor()
result = executor.execute(
"print('hello from kaggle')",
title="code-sandboxes-demo",
accelerator="NvidiaTeslaT4",
wait=True,
)
print(result.status, result.stdout)
print(result.to_kernel_reply())
For interactive execution, copy the WebSocket channels URL from an active Kaggle notebook session and pass it to the sandbox or client:
from code_sandboxes import KaggleKernelClient
with KaggleKernelClient.from_channels_url(channels_url, token=None) as kernel:
print(kernel.execute("x = 1 + 1; print(x)"))
See the complete Kaggle guide for authentication, accelerators, channels URL retrieval, and execution options.
Google Colab
Google Colab exposes an already-running kernel through an authenticating proxy. Copy its WebSocket channels URL from the browser's Network tools, then pass it directly to the sandbox:
from code_sandboxes import Sandbox
with Sandbox.create(variant="colab", channels_url=channels_url) as sandbox:
print(sandbox.run_code("x = 1 + 1; print(x)").stdout)
The lower-level client and parser are owned by Code Sandboxes as well:
from code_sandboxes import ColabKernelClient, parse_colab_channels_url
server_url, kernel_id, proxy_token = parse_colab_channels_url(channels_url)
with ColabKernelClient.from_channels_url(channels_url) as kernel:
print(kernel.execute("print('hello from colab')"))
See the complete Google Colab guide for proxy authentication, explicit connection values, and channels URL retrieval.
For full setup and parameters for all variants, see:
- https://code-sandboxes.datalayer.tech/sandboxes
- https://code-sandboxes.datalayer.tech/cli
- https://code-sandboxes.datalayer.tech/installation
License
BSD 3-Clause License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file code_sandboxes-1.0.2-py3-none-any.whl.
File metadata
- Download URL: code_sandboxes-1.0.2-py3-none-any.whl
- Upload date:
- Size: 81.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea2239b65b6f1f117dc6cd87e142fab0fa4be28b656564d3844f2d232f6a9edf
|
|
| MD5 |
0cda4acbaf0731573e7db3c814d7fbe9
|
|
| BLAKE2b-256 |
91217414ca070a6b50a885c9212dd6289b6997bd3b649895497825f39890b1ee
|