opensandbox-group/OpenSandboxPublic

Secure, Fast, and Extensible Sandbox runtime for AI agents.

AI summary: A secure, Kubernetes-native runtime environment specifically for executing AI agents.

Stars
12.4K
+25 today
Forks
1K
Watchers
51
Open issues
87
Open PRs
77
Contributors
~85
Commits
2.1K
Branches
61

PythonApache-2.0Created Dec 17, 2025Last push 1d agoLatest release docker/egress/v1.1.5+125 stars this week+125 this month

Star history

since May 31, 2026
05K10KMay 2026Jun 2026Jul 2026Aug 2026
12.4K stars as of Aug 6, 2026, tracked back to May 31, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 1 commit2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 9 commits2025-12-18: 6 commits2025-12-19: 4 commits2025-12-20: 0 commits2025-12-21: 1 commit2025-12-22: 8 commits2025-12-23: 8 commits2025-12-24: 7 commits2025-12-25: 6 commits2025-12-26: 10 commits2025-12-27: 0 commits2025-12-28: 3 commits2025-12-29: 10 commits2025-12-30: 9 commits2025-12-31: 9 commits2026-01-01: 3 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 2 commits2026-01-05: 2 commits2026-01-06: 5 commits2026-01-07: 15 commits2026-01-08: 6 commits2026-01-09: 7 commits2026-01-10: 0 commits2026-01-11: 1 commit2026-01-12: 6 commits2026-01-13: 3 commits2026-01-14: 1 commit2026-01-15: 9 commits2026-01-16: 4 commits2026-01-17: 0 commits2026-01-18: 1 commit2026-01-19: 2 commits2026-01-20: 2 commits2026-01-21: 3 commits2026-01-22: 10 commits2026-01-23: 4 commits2026-01-24: 3 commits2026-01-25: 1 commit2026-01-26: 7 commits2026-01-27: 4 commits2026-01-28: 2 commits2026-01-29: 3 commits2026-01-30: 7 commits2026-01-31: 1 commit2026-02-01: 2 commits2026-02-02: 9 commits2026-02-03: 10 commits2026-02-04: 12 commits2026-02-05: 16 commits2026-02-06: 18 commits2026-02-07: 2 commits2026-02-08: 4 commits2026-02-09: 17 commits2026-02-10: 6 commits2026-02-11: 8 commits2026-02-12: 9 commits2026-02-13: 9 commits2026-02-14: 0 commits2026-02-15: 3 commits2026-02-16: 1 commit2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 1 commit2026-02-22: 0 commits2026-02-23: 1 commit2026-02-24: 1 commit2026-02-25: 4 commits2026-02-26: 8 commits2026-02-27: 10 commits2026-02-28: 7 commits2026-03-01: 9 commits2026-03-02: 24 commits2026-03-03: 15 commits2026-03-04: 11 commits2026-03-05: 19 commits2026-03-06: 8 commits2026-03-07: 2 commits2026-03-08: 3 commits2026-03-09: 7 commits2026-03-10: 11 commits2026-03-11: 8 commits2026-03-12: 4 commits2026-03-13: 7 commits2026-03-14: 3 commits2026-03-15: 8 commits2026-03-16: 11 commits2026-03-17: 25 commits2026-03-18: 16 commits2026-03-19: 9 commits2026-03-20: 18 commits2026-03-21: 1 commit2026-03-22: 2 commits2026-03-23: 14 commits2026-03-24: 14 commits2026-03-25: 12 commits2026-03-26: 14 commits2026-03-27: 8 commits2026-03-28: 6 commits2026-03-29: 0 commits2026-03-30: 28 commits2026-03-31: 3 commits2026-04-01: 17 commits2026-04-02: 11 commits2026-04-03: 3 commits2026-04-04: 2 commits2026-04-05: 10 commits2026-04-06: 0 commits2026-04-07: 9 commits2026-04-08: 11 commits2026-04-09: 5 commits2026-04-10: 8 commits2026-04-11: 1 commit2026-04-12: 17 commits2026-04-13: 19 commits2026-04-14: 13 commits2026-04-15: 4 commits2026-04-16: 14 commits2026-04-17: 14 commits2026-04-18: 0 commits2026-04-19: 11 commits2026-04-20: 5 commits2026-04-21: 5 commits2026-04-22: 2 commits2026-04-23: 5 commits2026-04-24: 6 commits2026-04-25: 11 commits2026-04-26: 9 commits2026-04-27: 8 commits2026-04-28: 9 commits2026-04-29: 10 commits2026-04-30: 6 commits2026-05-01: 3 commits2026-05-02: 5 commits2026-05-03: 2 commits2026-05-04: 1 commit2026-05-05: 1 commit2026-05-06: 4 commits2026-05-07: 13 commits2026-05-08: 1 commit2026-05-09: 5 commits2026-05-10: 1 commit2026-05-11: 5 commits2026-05-12: 9 commits2026-05-13: 3 commits2026-05-14: 3 commits2026-05-15: 4 commits2026-05-16: 0 commits2026-05-17: 9 commits2026-05-18: 13 commits2026-05-19: 6 commits2026-05-20: 5 commits2026-05-21: 7 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 4 commits2026-05-26: 3 commits2026-05-27: 1 commit2026-05-28: 7 commits2026-05-29: 5 commits2026-05-30: 0 commits2026-05-31: 1 commit2026-06-01: 0 commits2026-06-02: 1 commit2026-06-03: 5 commits2026-06-04: 1 commit2026-06-05: 6 commits2026-06-06: 11 commits2026-06-07: 3 commits2026-06-08: 17 commits2026-06-09: 6 commits2026-06-10: 1 commit2026-06-11: 9 commits2026-06-12: 18 commits2026-06-13: 4 commits2026-06-14: 0 commits2026-06-15: 15 commits2026-06-16: 7 commits2026-06-17: 12 commits2026-06-18: 12 commits2026-06-19: 1 commit2026-06-20: 2 commits2026-06-21: 1 commit2026-06-22: 15 commits2026-06-23: 9 commits2026-06-24: 5 commits2026-06-25: 3 commits2026-06-26: 2 commits2026-06-27: 4 commits2026-06-28: 0 commits2026-06-29: 12 commits2026-06-30: 7 commits2026-07-01: 6 commits2026-07-02: 7 commits2026-07-03: 8 commits2026-07-04: 0 commits2026-07-05: 18 commits2026-07-06: 10 commits2026-07-07: 26 commits2026-07-08: 17 commits2026-07-09: 7 commits2026-07-10: 1 commit2026-07-11: 5 commits2026-07-12: 0 commits2026-07-13: 8 commits2026-07-14: 8 commits2026-07-15: 7 commits2026-07-16: 16 commits2026-07-17: 15 commits2026-07-18: 1 commit2026-07-19: 2 commits2026-07-20: 24 commits2026-07-21: 7 commits2026-07-22: 7 commits2026-07-23: 4 commits2026-07-24: 5 commits2026-07-25: 3 commits2026-07-26: 2 commits2026-07-27: 20 commits2026-07-28: 6 commits2026-07-29: 7 commits2026-07-30: 2 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 1 commit2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 2 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits
1,490 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    12,366 stars

  • Very active

    1,490 commits in 52 weeks

  • Well documented

    High community health score

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

What OpenSandbox does

OpenSandbox provides a robust infrastructure layer designed specifically for running AI agents safely at scale. It leverages Kubernetes to create secure, isolated environments where untrusted AI-generated code or agent actions can be executed without risking the host system. It handles the complex orchestration of spinning up these ephemeral sandboxes rapidly, managing network policies, and ensuring that agents have exactly the resources they need and nothing more. It acts as the critical security boundary for enterprise AI deployments.

DevOps engineers, security professionals, and platform teams building scalable, secure infrastructure for AI applications.

  • Kubernetes integration: Natively uses k8s for orchestrating and managing sandbox lifecycles.
  • Secure isolation: Prevents untrusted AI code from accessing host resources or internal networks.
  • Rapid provisioning: Designed to spin up execution environments with very low latency.
  • Extensible architecture: Allows custom configurations for different types of agent workloads.
  • Resource management: Strictly controls CPU, memory, and network usage per sandbox.

Where teams use it

Enterprise AI deployment

Providing a secure execution environment for internal AI tools that interact with sensitive corporate data.

Code evaluation platforms

Safely running and testing code generated by users or LLMs in an isolated environment.

Multi-tenant agent hosting

Hosting multiple distinct AI agents for different customers on the same physical infrastructure safely.

Getting started: Deploy the provided Helm charts to an existing Kubernetes cluster.

README

main branch
OpenSandbox logo

OpenSandbox

opensandbox-group%2FOpenSandbox | Trendshift

Stars OpenSSF Best Practices CNCF Landscape Discord DingTalk E2E Status Kubernetes nightly build status


OpenSandbox is a general-purpose sandbox platform for AI applications, offering multi-language SDKs, unified sandbox APIs, and Docker/Kubernetes runtimes for scenarios like Coding Agents, GUI Agents, Agent Evaluation, AI Code Execution, and RL Training.

Features

  • 🧩 SDKs, CLI, and MCP: Provides multi-language SDKs, the osb CLI, and MCP server integration for sandbox creation, command execution, and file operations. See SDKs, CLI, and MCP.
  • 📜 Sandbox Protocol: Defines sandbox lifecycle management APIs and sandbox execution APIs so you can extend custom sandbox runtimes. See API specs.
  • 🚀 Sandbox Runtime: Built-in lifecycle management supporting Docker and high-performance Kubernetes runtime, enabling both local runs and large-scale distributed scheduling. See Kubernetes runtime.
  • 🖥️ Sandbox Environments: Built-in Command, Filesystem, and Code Interpreter implementations. Examples cover Coding Agents (e.g., Claude Code), browser automation (Chrome, Playwright), and desktop environments (VNC, VS Code).
  • 🚦 Network Policy: Unified ingress gateway with multiple routing strategies plus per-sandbox egress controls. See Ingress Gateway and egress controls.
  • 🔑 Credential Vault: Secure credential injection for sandbox outbound requests without exposing real secrets to workloads. See Credential Vault.
  • 🏰 Strong Isolation: Supports secure container runtimes like gVisor, Kata Containers, and Firecracker microVM for enhanced isolation between sandbox workloads and the host. See Secure Container Runtime Guide for details.

SDKs

Python:

pip install opensandbox

Java/Kotlin (Gradle Kotlin DSL):

dependencies {
    implementation("com.alibaba.opensandbox:sandbox:{latest_version}")
}

Java/Kotlin (Maven):

<dependency>
    <groupId>com.alibaba.opensandbox</groupId>
    <artifactId>sandbox</artifactId>
    <version>{latest_version}</version>
</dependency>

JavaScript/TypeScript:

npm install @alibaba-group/opensandbox

C#/.NET:

dotnet add package Alibaba.OpenSandbox

Go:

go get github.com/alibaba/OpenSandbox/sdks/sandbox/go

CLI

OpenSandbox also provides osb, a terminal CLI for the common sandbox workflow: create sandboxes, run commands, move files, inspect diagnostics, and manage runtime egress policy.

Install:

pip install opensandbox-cli
# or
uv tool install opensandbox-cli

Quick start:

osb config init
osb config set connection.domain localhost:8080
osb config set connection.protocol http
osb config set connection.api_key <your-api-key>
osb sandbox create --image python:3.12 --timeout 30m -o json
osb command run <sandbox-id> -o raw -- python -c "print(1 + 1)"

See the CLI README for the full command reference.

MCP

The OpenSandbox MCP server exposes sandbox creation, command execution, and text file operations to MCP-capable clients such as Claude Code and Cursor.

Install and run:

pip install opensandbox-mcp
opensandbox-mcp --domain localhost:8080 --protocol http

Minimal stdio config:

{
  "mcpServers": {
    "opensandbox": {
      "command": "opensandbox-mcp",
      "args": ["--domain", "localhost:8080", "--protocol", "http"]
    }
  }
}

See the MCP README for client-specific setup.

Getting Started

Requirements:

  • Docker (required for local execution)
  • Python 3.10+ (required for examples and local runtime)

Install and Configure the Sandbox Server

uvx opensandbox-server init-config ~/.sandbox.toml --example docker

uvx opensandbox-server

# Show help
# uvx opensandbox-server -h

Create a Code Interpreter and Execute Commands/Codes

Install the Code Interpreter SDK

uv pip install opensandbox-code-interpreter

Create a sandbox and execute commands and codes.

import asyncio
from datetime import timedelta

from code_interpreter import CodeInterpreter, SupportedLanguage
from opensandbox import Sandbox
from opensandbox.models import WriteEntry

async def main() -> None:
    # 1. Create a sandbox
    sandbox = await Sandbox.create(
        "opensandbox/code-interpreter:v1.1.0",
        entrypoint=["/opt/code-interpreter/code-interpreter.sh"],
        env={"PYTHON_VERSION": "3.11"},
        timeout=timedelta(minutes=10),
    )

    async with sandbox:

        # 2. Execute a shell command
        execution = await sandbox.commands.run("echo 'Hello OpenSandbox!'")
        print(execution.logs.stdout[0].text)

        # 3. Write a file
        await sandbox.files.write_files([
            WriteEntry(path="/tmp/hello.txt", data="Hello World", mode=644)
        ])

        # 4. Read a file
        content = await sandbox.files.read_file("/tmp/hello.txt")
        print(f"Content: {content}") # Content: Hello World

        # 5. Create a code interpreter
        interpreter = await CodeInterpreter.create(sandbox)

        # 6. Execute Python code (single-run, pass language directly)
        result = await interpreter.codes.run(
              """
                  import sys
                  print(sys.version)
                  result = 2 + 2
                  result
              """,
              language=SupportedLanguage.PYTHON,
        )

        print(result.result[0].text) # 4
        print(result.logs.stdout[0].text) # 3.11.14

        # 7. Cleanup the sandbox
        await sandbox.kill()

if __name__ == "__main__":
    asyncio.run(main())

More Examples

OpenSandbox provides examples covering SDK usage, agent integrations, browser automation, and training workloads. All example code is located in the examples/ directory.

🎯 Basic Examples

🤖 Coding Agent Integrations

🌐 Browser and Desktop Environments

  • chrome - Chromium sandbox with VNC and DevTools access for automation and debugging.
  • playwright - Playwright + Chromium headless scraping and testing example.
  • desktop - Full desktop environment in a sandbox with VNC access.
  • vscode - code-server (VS Code Web) running inside a sandbox for remote dev.

🧠 Training and Evaluation

For more details, please refer to the examples documentation.

Project Structure

Directory Description
sdks/ Multi-language SDKs (Python, Java/Kotlin, TypeScript/JavaScript, C#/.NET)
specs/ OpenAPI specs and lifecycle specifications
server/ Python FastAPI sandbox lifecycle server
cli/ OpenSandbox command-line interface
kubernetes/ Kubernetes deployment and examples
components/execd/ Sandbox execution daemon (commands and file operations)
components/ingress/ Sandbox traffic ingress proxy
components/egress/ Sandbox network egress control
sandboxes/ Runtime sandbox implementations
examples/ Runnable example code
docs/examples/ Example documentation and use cases
oseps/ OpenSandbox Enhancement Proposals
docs/ Architecture and design documentation
tests/ Cross-component E2E tests
scripts/ Development and maintenance scripts

For detailed architecture, see Architecture.

Documentation

License

This project is open source under the Apache 2.0 License.

Roadmap

See ROADMAP.md for the current project roadmap, planning scope, and how roadmap items are managed.

Contact and Discussion

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

166 total
  1. components/egress 1.1.5docker/egress/v1.1.5Jul 27, 2026

    ## What's New ### ✨ Features - **Intercept extra TCP ports beyond 80/443 (experimental).** New env var `OPENSANDBOX_EGRESS_MITMPROXY_EXTRA_PORTS` (comma-separated) appends extra destination ports to the transparent-mitm REDIRECT rule, with fail-closed validation. Note: extra ports are decrypted and logged but not yet matched against credential bindings. (#1379) ### 🐛 Bug Fixes - **npm scoped packages no longer 403 under Credential Vault.** A single-layer `%2f` (e.g. `/@scope%2fname`) is now allowed, while `%2f` that crosses a credential binding boundary — plus nested encodings, backslashes, and dot-segments — is still rejected. (#1369) - **DNS survives `deny.always` overlays containing `127.0.0.0/8`.** In `dns+nft` mode, DNS redirected to `127.0.0.1:15353` is now accepted before the deny sets, so a loopback deny rule no longer breaks sandbox DNS under Docker. (#1380) - **Purge stale mitmproxy CA on startup.** egress now erases the exported CA early in startup so a co-restarting agent doesn't install a stale CA, fixing `unable to get local issuer certificate` on HTTPS from the agent. (#1371) ### 🔒 Security - **CVE patches for Go dependencies.** `grpc` → v1.

  2. Go Sandbox SDK v1.0.5sdks/sandbox/go/v1.0.5Jul 24, 2026

    ## What's New ### ✨ Features - **Retrying pool acquire policies** — Go sandbox pools now support `AcquirePolicyRetryNextIdle` and `AcquirePolicyRetryNextIdleThenCreate`, allowing `Acquire` to skip stale idle candidates before failing or falling back to direct create. Existing policies keep their current behavior; `MaxAcquireRetries` defaults to 3. #1347 - **Sandbox create metrics** — `Sandbox.Create` now reports fire-and-forget `sandbox.create` latency events to the lifecycle server. Reporting ignores old-server version skew and can be disabled with `OPENSANDBOX_DISABLE_METRICS=1`. #1307 - **Client IP header** — the SDK now best-effort detects the host intranet IPv4 and sends it as `OPEN-SANDBOX-CLIENT-IP` on outbound requests. User-provided headers are never overwritten. #1326 - **Attach to isolated sessions** — the SDK can now attach to an existing isolated session by session ID, allowing stateless workers to recover a functional handle while the execd in-memory session remains alive. #1295 - **UID mode availability** — isolated session responses now expose per-mode `setpriv` / `userns` availability, and unavailable requested modes fail with `503 NOT_SUPPORTED`. #1320 - **Exact

  3. Python Sandbox SDK v0.1.15python/sandbox/v0.1.15Jul 24, 2026

    ## What's New ### ✨ Features - **Retrying pool acquire policies** — Python sandbox pools now support `RETRY_NEXT_IDLE` and `RETRY_NEXT_IDLE_THEN_CREATE`, allowing `acquire` to skip stale idle candidates before failing or falling back to direct create. Existing policies keep their current behavior; `max_acquire_retries` defaults to 3. #1347 - **Sandbox create metrics** — async and sync `Sandbox.create` now report fire-and-forget `sandbox.create` latency events to the lifecycle server. Reporting never blocks callers and can be disabled with `OPENSANDBOX_DISABLE_METRICS=1`. #1307 - **Client IP header** — the SDK now best-effort detects the host intranet IPv4 and sends it as `OPEN-SANDBOX-CLIENT-IP` on outbound requests. Detection is cached and never overwrites a user-provided header. #1326 - **Attach to isolated sessions** — `sandbox.isolation.attach(session_id)` lets stateless workers rebuild a handle for an existing execd isolated session while that in-memory session is still alive. #1295 - **UID mode availability** — isolated session responses now expose per-mode `setpriv` / `userns` availability, and unavailable requested modes fail with `503 NOT_SUPPORTED`. #1320 - **Exact snap

  4. JavaScript Sandbox SDK v0.1.11js/sandbox/v0.1.11Jul 24, 2026

    ## What's New ### ✨ Features - **Sandbox create metrics** — `Sandbox.create` now reports fire-and-forget `sandbox.create` latency events to the lifecycle server. Reporting ignores old-server version skew and can be disabled with `OPENSANDBOX_DISABLE_METRICS=1`. #1307 - **Client IP header** — the SDK now best-effort detects the host intranet IPv4 through Node network interfaces and sends it as `OPEN-SANDBOX-CLIENT-IP`. User-provided headers are never overwritten. #1326 - **Attach to isolated sessions** — `sandbox.isolation.attach(sessionId)` lets stateless workers rebuild a handle for an existing execd isolated session while that in-memory session is still alive. #1295 - **UID mode availability** — isolated session responses now expose per-mode `setpriv` / `userns` availability, and unavailable requested modes fail with `503 NOT_SUPPORTED`. #1320 - **Exact snapshot name filtering** — snapshot listing now supports an exact `name` filter. #1301 - **Isolated session bind mounts and listing** — isolated sessions can now receive explicit bind mounts, and the SDK exposes isolated session listing so callers can inspect active sessions. #1264 #1269 - **Credential Vault placeholder substit

  5. Java/Kotlin SDKs v1.0.17java/sandbox/v1.0.17Jul 24, 2026

    ## What's New ### ✨ Features - **Retrying pool acquire policies** — Kotlin/Java sandbox pools now support `RETRY_NEXT_IDLE` and `RETRY_NEXT_IDLE_THEN_CREATE`, allowing acquire to skip stale idle candidates before failing or falling back to direct create. Existing policies keep their current behavior; `maxAcquireRetries` defaults to 3. #1347 - **Sandbox create metrics** — `Sandbox.create` now reports fire-and-forget `sandbox.create` latency events to the lifecycle server. Reporting never blocks callers and can be disabled with `OPENSANDBOX_DISABLE_METRICS=1` or `disableMetrics`. #1341 - **Client IP header** — the SDK now best-effort detects the host intranet IPv4 and sends it as `OPEN-SANDBOX-CLIENT-IP` through the OkHttp transport. User-provided headers are never overwritten. #1326 - **Attach to isolated sessions** — `isolation.attach(sessionId)` lets stateless workers rebuild a handle for an existing execd isolated session while that in-memory session is still alive. #1295 - **UID mode availability** — isolated session responses now expose per-mode `setpriv` / `userns` availability, and unavailable requested modes fail with `503 NOT_SUPPORTED`. #1320 - **Exact snapshot name filt

Code frequency

additions and deletions
+75.1K-75.1KWeek of 2025-11-09: +201 linesWeek of 2025-11-09: -0 linesWeek of 2025-11-16: +0 linesWeek of 2025-11-16: -0 linesWeek of 2025-11-23: +0 linesWeek of 2025-11-23: -0 linesWeek of 2025-11-30: +0 linesWeek of 2025-11-30: -0 linesWeek of 2025-12-07: +0 linesWeek of 2025-12-07: -0 linesWeek of 2025-12-14: +75,068 linesWeek of 2025-12-14: -1,057 linesWeek of 2025-12-21: +10,877 linesWeek of 2025-12-21: -738 linesWeek of 2025-12-28: +3,658 linesWeek of 2025-12-28: -927 linesWeek of 2026-01-04: +17,374 linesWeek of 2026-01-04: -3,920 linesWeek of 2026-01-11: +15,305 linesWeek of 2026-01-11: -2,152 linesWeek of 2026-01-18: +7,038 linesWeek of 2026-01-18: -1,259 linesWeek of 2026-01-25: +5,840 linesWeek of 2026-01-25: -1,126 linesWeek of 2026-02-01: +13,310 linesWeek of 2026-02-01: -2,839 linesWeek of 2026-02-08: +13,353 linesWeek of 2026-02-08: -1,556 linesWeek of 2026-02-15: +336 linesWeek of 2026-02-15: -193 linesWeek of 2026-02-22: +16,241 linesWeek of 2026-02-22: -765 linesWeek of 2026-03-01: +10,241 linesWeek of 2026-03-01: -1,329 linesWeek of 2026-03-08: +14,375 linesWeek of 2026-03-08: -3,650 linesWeek of 2026-03-15: +20,300 linesWeek of 2026-03-15: -3,179 linesWeek of 2026-03-22: +32,304 linesWeek of 2026-03-22: -18,271 linesWeek of 2026-03-29: +32,563 linesWeek of 2026-03-29: -4,436 linesWeek of 2026-04-05: +23,945 linesWeek of 2026-04-05: -19,787 linesWeek of 2026-04-12: +15,858 linesWeek of 2026-04-12: -4,934 linesWeek of 2026-04-19: +9,460 linesWeek of 2026-04-19: -3,044 linesWeek of 2026-04-26: +38,128 linesWeek of 2026-04-26: -14,373 linesWeek of 2026-05-03: +7,642 linesWeek of 2026-05-03: -5,056 linesWeek of 2026-05-10: +7,663 linesWeek of 2026-05-10: -903 linesWeek of 2026-05-17: +3,047 linesWeek of 2026-05-17: -657 linesWeek of 2026-05-24: +2,625 linesWeek of 2026-05-24: -250 linesWeek of 2026-05-31: +6,655 linesWeek of 2026-05-31: -714 linesWeek of 2026-06-07: +23,484 linesWeek of 2026-06-07: -2,168 linesWeek of 2026-06-14: +15,697 linesWeek of 2026-06-14: -15,521 linesWeek of 2026-06-21: +27,616 linesWeek of 2026-06-21: -2,296 linesWeek of 2026-06-28: +5,682 linesWeek of 2026-06-28: -912 linesWeek of 2026-07-05: +23,063 linesWeek of 2026-07-05: -3,995 linesWeek of 2026-07-12: +12,433 linesWeek of 2026-07-12: -2,893 linesWeek of 2026-07-19: +22,686 linesWeek of 2026-07-19: -3,451 linesWeek of 2026-07-26: +7,555 linesWeek of 2026-07-26: -1,369 linesWeek of 2026-08-02: +3,870 linesWeek of 2026-08-02: -1,073 linesNov 9, 2025Aug 2, 2026
+545.5K lines added, -130.8K removed over the last year.

Commits per week

last 52 weeks
880Week of 2025-08-09: 0 commitsWeek of 2025-08-16: 0 commitsWeek of 2025-08-23: 0 commitsWeek of 2025-08-30: 0 commitsWeek of 2025-09-06: 0 commitsWeek of 2025-09-13: 0 commitsWeek of 2025-09-20: 0 commitsWeek of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 1 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 19 commitsWeek of 2025-12-21: 40 commitsWeek of 2025-12-28: 34 commitsWeek of 2026-01-04: 37 commitsWeek of 2026-01-11: 24 commitsWeek of 2026-01-18: 25 commitsWeek of 2026-01-25: 25 commitsWeek of 2026-02-01: 69 commitsWeek of 2026-02-08: 53 commitsWeek of 2026-02-15: 5 commitsWeek of 2026-02-22: 31 commitsWeek of 2026-03-01: 88 commitsWeek of 2026-03-08: 43 commitsWeek of 2026-03-15: 88 commitsWeek of 2026-03-22: 70 commitsWeek of 2026-03-29: 64 commitsWeek of 2026-04-05: 44 commitsWeek of 2026-04-12: 81 commitsWeek of 2026-04-19: 45 commitsWeek of 2026-04-26: 50 commitsWeek of 2026-05-03: 27 commitsWeek of 2026-05-10: 25 commitsWeek of 2026-05-17: 40 commitsWeek of 2026-05-24: 20 commitsWeek of 2026-05-31: 25 commitsWeek of 2026-06-07: 58 commitsWeek of 2026-06-14: 49 commitsWeek of 2026-06-21: 39 commitsWeek of 2026-06-28: 40 commitsWeek of 2026-07-05: 84 commitsWeek of 2026-07-12: 55 commitsWeek of 2026-07-19: 52 commitsWeek of 2026-07-26: 37 commitsWeek of 2026-08-02: 3 commitsAug 9, 2025Aug 2, 2026
1.5K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 1 commitsSun 2:00 — 2 commitsSun 3:00 — 1 commitsSun 4:00 — 1 commitsSun 5:00 — 0 commitsSun 6:00 — 2 commitsSun 7:00 — 0 commitsSun 8:00 — 3 commitsSun 9:00 — 9 commitsSun 10:00 — 10 commitsSun 11:00 — 1 commitsSun 12:00 — 4 commitsSun 13:00 — 8 commitsSun 14:00 — 15 commitsSun 15:00 — 16 commitsSun 16:00 — 9 commitsSun 17:00 — 11 commitsSun 18:00 — 11 commitsSun 19:00 — 5 commitsSun 20:00 — 6 commitsSun 21:00 — 6 commitsSun 22:00 — 2 commitsSun 23:00 — 4 commitsMon 0:00 — 0 commitsMon 1:00 — 8 commitsMon 2:00 — 7 commitsMon 3:00 — 4 commitsMon 4:00 — 1 commitsMon 5:00 — 1 commitsMon 6:00 — 3 commitsMon 7:00 — 1 commitsMon 8:00 — 1 commitsMon 9:00 — 18 commitsMon 10:00 — 19 commitsMon 11:00 — 30 commitsMon 12:00 — 9 commitsMon 13:00 — 16 commitsMon 14:00 — 28 commitsMon 15:00 — 22 commitsMon 16:00 — 28 commitsMon 17:00 — 26 commitsMon 18:00 — 40 commitsMon 19:00 — 18 commitsMon 20:00 — 7 commitsMon 21:00 — 12 commitsMon 22:00 — 9 commitsMon 23:00 — 15 commitsTue 0:00 — 4 commitsTue 1:00 — 0 commitsTue 2:00 — 2 commitsTue 3:00 — 3 commitsTue 4:00 — 2 commitsTue 5:00 — 2 commitsTue 6:00 — 4 commitsTue 7:00 — 3 commitsTue 8:00 — 1 commitsTue 9:00 — 9 commitsTue 10:00 — 24 commitsTue 11:00 — 14 commitsTue 12:00 — 10 commitsTue 13:00 — 5 commitsTue 14:00 — 24 commitsTue 15:00 — 19 commitsTue 16:00 — 22 commitsTue 17:00 — 21 commitsTue 18:00 — 21 commitsTue 19:00 — 10 commitsTue 20:00 — 23 commitsTue 21:00 — 8 commitsTue 22:00 — 16 commitsTue 23:00 — 1 commitsWed 0:00 — 2 commitsWed 1:00 — 0 commitsWed 2:00 — 2 commitsWed 3:00 — 0 commitsWed 4:00 — 5 commitsWed 5:00 — 2 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 1 commitsWed 9:00 — 9 commitsWed 10:00 — 30 commitsWed 11:00 — 23 commitsWed 12:00 — 15 commitsWed 13:00 — 17 commitsWed 14:00 — 7 commitsWed 15:00 — 16 commitsWed 16:00 — 24 commitsWed 17:00 — 16 commitsWed 18:00 — 26 commitsWed 19:00 — 15 commitsWed 20:00 — 9 commitsWed 21:00 — 13 commitsWed 22:00 — 7 commitsWed 23:00 — 4 commitsThu 0:00 — 2 commitsThu 1:00 — 0 commitsThu 2:00 — 1 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 1 commitsThu 6:00 — 3 commitsThu 7:00 — 2 commitsThu 8:00 — 5 commitsThu 9:00 — 18 commitsThu 10:00 — 34 commitsThu 11:00 — 24 commitsThu 12:00 — 10 commitsThu 13:00 — 15 commitsThu 14:00 — 18 commitsThu 15:00 — 17 commitsThu 16:00 — 16 commitsThu 17:00 — 22 commitsThu 18:00 — 17 commitsThu 19:00 — 17 commitsThu 20:00 — 11 commitsThu 21:00 — 13 commitsThu 22:00 — 5 commitsThu 23:00 — 4 commitsFri 0:00 — 6 commitsFri 1:00 — 1 commitsFri 2:00 — 1 commitsFri 3:00 — 4 commitsFri 4:00 — 0 commitsFri 5:00 — 1 commitsFri 6:00 — 3 commitsFri 7:00 — 2 commitsFri 8:00 — 1 commitsFri 9:00 — 15 commitsFri 10:00 — 23 commitsFri 11:00 — 14 commitsFri 12:00 — 17 commitsFri 13:00 — 18 commitsFri 14:00 — 15 commitsFri 15:00 — 12 commitsFri 16:00 — 19 commitsFri 17:00 — 19 commitsFri 18:00 — 11 commitsFri 19:00 — 5 commitsFri 20:00 — 13 commitsFri 21:00 — 6 commitsFri 22:00 — 5 commitsFri 23:00 — 3 commitsSat 0:00 — 2 commitsSat 1:00 — 2 commitsSat 2:00 — 0 commitsSat 3:00 — 1 commitsSat 4:00 — 1 commitsSat 5:00 — 1 commitsSat 6:00 — 0 commitsSat 7:00 — 2 commitsSat 8:00 — 2 commitsSat 9:00 — 5 commitsSat 10:00 — 6 commitsSat 11:00 — 4 commitsSat 12:00 — 3 commitsSat 13:00 — 5 commitsSat 14:00 — 0 commitsSat 15:00 — 6 commitsSat 16:00 — 2 commitsSat 17:00 — 6 commitsSat 18:00 — 5 commitsSat 19:00 — 5 commitsSat 20:00 — 10 commitsSat 21:00 — 6 commitsSat 22:00 — 6 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
  • public-apis/public-apis

    A collective list of free APIs

    454.9K stars · Python

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    385.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • donnemartin/system-design-primer

    Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

    362.2K stars · Python