{"id":37377852,"url":"https://github.com/boxlite-ai/boxlite","last_synced_at":"2026-03-12T16:12:42.521Z","repository":{"id":328457356,"uuid":"1111937658","full_name":"boxlite-ai/boxlite","owner":"boxlite-ai","description":"Embedded sandbox for running AI agents.","archived":false,"fork":false,"pushed_at":"2026-01-13T17:13:52.000Z","size":950,"stargazers_count":474,"open_issues_count":14,"forks_count":25,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-13T19:37:46.802Z","etag":null,"topics":["ai-agents","containers","sandbox","security","serverless","virtualization"],"latest_commit_sha":null,"homepage":"https://boxlite-ai.github.io/website/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boxlite-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-07T22:49:32.000Z","updated_at":"2026-01-13T17:13:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/boxlite-ai/boxlite","commit_stats":null,"previous_names":["boxlite-labs/boxlite"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/boxlite-ai/boxlite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boxlite-ai%2Fboxlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boxlite-ai%2Fboxlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boxlite-ai%2Fboxlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boxlite-ai%2Fboxlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boxlite-ai","download_url":"https://codeload.github.com/boxlite-ai/boxlite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boxlite-ai%2Fboxlite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","containers","sandbox","security","serverless","virtualization"],"created_at":"2026-01-16T05:04:25.463Z","updated_at":"2026-01-29T11:26:13.339Z","avatar_url":"https://github.com/boxlite-ai.png","language":"Rust","readme":"# BoxLite\n\n[![Build](https://github.com/boxlite-ai/boxlite/actions/workflows/build-wheels.yml/badge.svg)](https://github.com/boxlite-ai/boxlite/actions/workflows/build-wheels.yml)\n[![Lint](https://github.com/boxlite-ai/boxlite/actions/workflows/lint.yml/badge.svg)](https://github.com/boxlite-ai/boxlite/actions/workflows/lint.yml)\n[![PyPI](https://img.shields.io/pypi/v/boxlite.svg)](https://pypi.org/project/boxlite/)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n**Embedded** micro-VM runtime for **AI agents** running OCI containers with\nhardware-level isolation — **no daemon required**.\n\n\n## What is BoxLite?\n\nBoxLite lets you spin up **lightweight VMs** (\"Boxes\") and run **OCI containers inside them**. It's\ndesigned for use cases like **AI agent sandboxes** and **multi-tenant code execution**, where Docker\nalone isn't enough and full VM infrastructure is too heavy.\n\n**Why BoxLite**\n\n- **Hardware isolation**: each Box has its own kernel (not just namespaces).\n- **Embeddable**: link a library; no root; no background service to manage.\n- **OCI compatible**: use Docker/OCI images (`python:slim`, `node:alpine`, `alpine:latest`).\n- **Async-first**: run many boxes concurrently; stream stdout/stderr.\n\n## Python Quick Start\n\n\u003cdetails\u003e\n\u003csummary\u003eView guide\u003c/summary\u003e\n\n### Install\n\n```bash\npip install boxlite\n```\n\nRequires Python 3.10+.\n\n### Run\n\n```python\nimport asyncio\nimport boxlite\n\n\nasync def main():\n    async with boxlite.SimpleBox(image=\"python:slim\") as box:\n        result = await box.exec(\"python\", \"-c\", \"print('Hello from BoxLite!')\")\n        print(result.stdout)\n\n\nasyncio.run(main())\n```\n\n\u003c/details\u003e\n\n\n## Node.js Quick Start\n\n\u003cdetails\u003e\n\u003csummary\u003eView guide\u003c/summary\u003e\n\n### Install\n\n```bash\nnpm install @boxlite-ai/boxlite\n```\n\nRequires Node.js 18+.\n\n### Run\n\n```javascript\nimport { SimpleBox } from '@boxlite-ai/boxlite';\n\nasync function main() {\n  const box = new SimpleBox({ image: 'python:slim' });\n  try {\n    const result = await box.exec('python', '-c', \"print('Hello from BoxLite!')\");\n    console.log(result.stdout);\n  } finally {\n    await box.stop();\n  }\n}\n\nmain();\n```\n\n\u003c/details\u003e\n\n\n## Rust Quick Start\n\n\u003cdetails\u003e\n\u003csummary\u003eView guide\u003c/summary\u003e\n\n### Install\n\n```toml\n[dependencies]\nboxlite = { git = \"https://github.com/boxlite-ai/boxlite\" }\n```\n\n### Run\n\n```rust\nuse boxlite::{BoxCommand, BoxOptions, BoxliteRuntime, RootfsSpec};\nuse futures::StreamExt;\n\n#[tokio::main]\nasync fn main() -\u003e Result\u003c(), Box\u003cdyn std::error::Error\u003e\u003e {\n    let runtime = BoxliteRuntime::default_runtime();\n    let options = BoxOptions {\n        rootfs: RootfsSpec::Image(\"alpine:latest\".into()),\n        ..Default::default()\n    };\n\n    let litebox = runtime.create(options, None).await?;\n    let mut execution = litebox\n        .exec(BoxCommand::new(\"echo\").arg(\"Hello from BoxLite!\"))\n        .await?;\n\n    let mut stdout = execution.stdout().unwrap();\n    while let Some(line) = stdout.next().await {\n        println!(\"{}\", line);\n    }\n\n    Ok(())\n}\n```\n\n\u003c/details\u003e\n\n\n## Next steps\n\n- Run more real-world scenarios in [Examples](./examples/)\n- Learn how images, disks, networking, and isolation work in [Architecture](./docs/architecture/)\n\n## Features\n\n- **Compute**: CPU/memory limits, async-first API, streaming stdout/stderr, metrics\n- **Storage**: volume mounts (ro/rw), persistent disks (QCOW2), copy-on-write\n- **Networking**: outbound internet, port forwarding (TCP/UDP), network metrics\n- **Images**: OCI pull + caching, custom rootfs support\n- **Security**: hardware isolation (KVM/HVF), OS sandboxing (seccomp/sandbox-exec), resource limits\n- **SDKs**: Python (stable), Node.js (v0.1.6); Go coming soon\n\n## Architecture\n\nHigh-level overview of how BoxLite embeds a runtime and runs OCI containers inside micro-VMs.\nFor details, see [Architecture](./docs/architecture/).\n\n\u003cdetails\u003e\n\u003csummary\u003eShow diagram\u003c/summary\u003e\n\n```\n┌──────────────────────────────────────────────────────────────┐\n│  Your Application                                            │\n│  ┌───────────────────────────────────────────────────────┐   │\n│  │  BoxLite Runtime (embedded library)                   │   │\n│  │                                                        │   │\n│  │  ╔════════════════════════════════════════════════╗   │   │\n│  │  ║ Jailer (OS-level sandbox)                      ║   │   │\n│  │  ║  ┌──────────┐  ┌──────────┐  ┌──────────┐      ║   │   │\n│  │  ║  │  Box A   │  │  Box B   │  │  Box C   │      ║   │   │\n│  │  ║  │ (VM+Shim)│  │ (VM+Shim)│  │ (VM+Shim)│      ║   │   │\n│  │  ║  │┌────────┐│  │┌────────┐│  │┌────────┐│      ║   │   │\n│  │  ║  ││Container││  ││Container││  ││Container││      ║   │   │\n│  │  ║  │└────────┘│  │└────────┘│  │└────────┘│      ║   │   │\n│  │  ║  └──────────┘  └──────────┘  └──────────┘      ║   │   │\n│  │  ╚════════════════════════════════════════════════╝   │   │\n│  └───────────────────────────────────────────────────────┘   │\n└──────────────────────────────────────────────────────────────┘\n                              │\n              Hardware Virtualization + OS Sandboxing\n             (KVM/Hypervisor.framework + seccomp/sandbox-exec)\n```\n\n**Security Layers:**\n- Hardware isolation (KVM/Hypervisor.framework)\n- OS-level sandboxing (seccomp on Linux, sandbox-exec on macOS)\n- Resource limits (cgroups, rlimits)\n- Environment sanitization\n\n\u003c/details\u003e\n\n## Documentation\n\n- API Reference — Coming soon\n- [Examples](./examples/) — Sample code for common use cases\n- [Architecture](./docs/architecture/) — How BoxLite works under the hood\n\n## Supported Platforms\n\n| Platform       | Architecture          | Status           |\n|----------------|-----------------------|------------------|\n| macOS          | Apple Silicon (ARM64) | ✅ Supported     |\n| Linux          | x86_64                | ✅ Supported     |\n| Linux          | ARM64                 | ✅ Supported     |\n| Windows (WSL2) | x86_64                | ✅ Supported     |\n| macOS          | Intel (x86_64)        | ❌ Not supported |\n\n## System Requirements\n\n| Platform       | Requirements                                   |\n|----------------|------------------------------------------------|\n| macOS          | Apple Silicon, macOS 12+                       |\n| Linux          | KVM enabled (`/dev/kvm` accessible)            |\n| Windows (WSL2) | WSL2 with KVM support, user in `kvm` group     |\n| Python         | 3.10+                                          |\n\n## Getting Help\n\n- [GitHub Issues](https://github.com/boxlite-ai/boxlite/issues) — Bug reports and feature requests\n- [Discussions](https://github.com/boxlite-ai/boxlite/discussions) — Questions and community\n  support\n\n## Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.\n\n## License\n\nLicensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for details.\n","funding_links":[],"categories":["[boxlite](https://boxlite-ai.github.io/website)","Machine Learning \u0026 AI"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboxlite-ai%2Fboxlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboxlite-ai%2Fboxlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboxlite-ai%2Fboxlite/lists"}