{"slug": "space-by-perplexity", "title": "Space by Perplexity", "summary": "Perplexity released SPACE (Sandboxed Platform for Agentic Code Execution), an open-source platform that runs code in isolated Firecracker microVMs and exposes an HTTP API for creating Linux environments, executing commands, collecting output, and managing sandbox lifecycles. SPACE uses templates as starting environments and sandboxes as per-instance VMs with writable filesystems, with asynchronous lifecycle operations that return an operation ID to poll and command output delivered over a separate data-plane connection using a session-scoped attachment token. The release includes an E2B Compatibility Wrapper for the tested E2B Python SDK, a Kubernetes-based local Kind deployment path, warm pools to skip cold boots, and hosted Guide and API Reference documentation.", "body_md": "SPACE (Sandboxed Platform for Agentic Code Execution) is a sandbox platform for running code in isolated Firecracker microVMs. Applications use its HTTP API to create Linux environments, execute commands, collect output, and manage sandbox lifecycles.\n\nUse SPACE when your application needs a separate execution environment for an agent, a user workspace, or a code-running job. Your application decides what to run and what results to keep; SPACE manages the sandbox, its processes, and the connection carrying command output.\n\nA **template** supplies the starting environment. A **sandbox** is an instance of that environment with its own VM and writable filesystem; multiple commands can run in the same sandbox.\n\n``` php\nYour application\n    |\n    +-- Create sandbox from template --> Wait for readiness\n    |\n    +-- Create command session --------> Attach to start the process\n    |                                    Read output and exit result\n    |\n    +-- Keep, pause, or suspend --------> Wake when needed\n    |\n    +-- Delete sandbox\n```\n\nSandbox lifecycle changes are asynchronous: the API returns an operation ID that you poll for completion. Command output uses a separate data-plane connection and a session-scoped attachment token.\n\nFollow [Installation and configuration](https://github.com/perplexityai/SPACE/blob/main/docs/installation.md) to deploy SPACE in a local Kind cluster and authenticate. Then follow [Your first sandbox](https://github.com/perplexityai/SPACE/blob/main/docs/first-sandbox.md) to run a command and collect its output. The setup guide covers Kubernetes; the [architecture guide](https://github.com/perplexityai/SPACE/blob/main/docs/architecture.md#request-and-execution-flow) also explains how SPACE can run without it.\n\nRead the hosted [Guide](https://space.docs.perplexity.ai/guide/index.html) and [API Reference](https://space.docs.perplexity.ai/api/index.html) online. Both update automatically after changes merge. The links below point to source documentation in this checkout.\n\n| Guide | What you will learn | \n|---|---|\n| [Versioning and compatibility](https://github.com/perplexityai/SPACE/blob/main/docs/versioning.md) | Release progression, supported guests, service stability, and upgrade/rollback requirements. | \n| [Architecture](https://github.com/perplexityai/SPACE/blob/main/docs/architecture.md) | How templates, sandboxes, processes, sessions, and operations relate; what pause and suspend preserve; how the services fit together. | \n| [Installation and configuration](https://github.com/perplexityai/SPACE/blob/main/docs/installation.md) | Host prerequisites, local Kind deployment, configuration defaults, authentication, verification, and teardown. | \n| [Operator CLI](https://github.com/perplexityai/SPACE/blob/main/crates/apps/admin/cli/README.md) | API access, port forwarding, `space-admin-cli login` , nodes, warm pools, and system-template builds. | \n| [Your first sandbox](https://github.com/perplexityai/SPACE/blob/main/docs/first-sandbox.md) | A complete API workflow, command customization, output handling, inspection, and deletion. | \n| [E2B Compatibility Wrapper](https://github.com/perplexityai/SPACE/blob/main/docs/ecw.md) | Configure ECW, create a compatibility API key, use the tested E2B Python SDK, and understand supported behavior and limitations. | \n| [API reference](https://github.com/perplexityai/SPACE/blob/main/docs/api/index.md) | Endpoints, request and response fields, and examples. | \n| [Troubleshooting](https://github.com/perplexityai/SPACE/blob/main/docs/troubleshooting.md) | Local setup, authentication, lifecycle operations, command streams, and safe retries. | \n| [Operator egress profiles](https://github.com/perplexityai/SPACE/blob/main/docs/egress-profiles.md) | Configure named policy additions for federated native and ECW creates. | \n| [Observability](https://github.com/perplexityai/SPACE/blob/main/docs/observability.md) | Telemetry build features, the Rust/Go selector contract, and unchanged image defaults. | \n| [Warm pools](https://github.com/perplexityai/SPACE/blob/main/docs/warm-pools.md) | Keep booted sandboxes ready on Kubernetes so creates skip a cold boot. | \n| [Base snapshots](https://github.com/perplexityai/SPACE/blob/main/docs/base-snapshots.md) | Restore sandboxes from a snapshot on a single node, optionally with a node warm pool. | \n\nTo browse the guide and API together locally, install [mdBook 0.4.52](https://github.com/rust-lang/mdBook/releases/tag/v0.4.52) and the [API build prerequisites](https://github.com/perplexityai/SPACE/blob/main/docs/api/index.md#browse-locally). From a clean checkout, run:\n\n```\nbash scripts/build-docs.sh\npython3 -m http.server 8000 --bind 127.0.0.1 --directory target/docs/site\n```\n\nOpen [http://127.0.0.1:8000](http://127.0.0.1:8000). The build also requires Git and Python 3.11+. The standalone commands remain `bash scripts/build-guide-docs.sh` and `bash scripts/build-api-docs.sh`; they also support local uncommitted edits.\n\nThe API serves its generated reference at `/openapi-m1.json`, with request fields, response schemas, and errors.\n\nThe SPACE API manages sandbox lifecycles, runs and controls processes, and streams their output. Fields marked `incubating` in the schema are outside the supported contract.\n\nSPACE is implemented in Rust, but applications interact with it over HTTP and server-sent events. You do not need to embed a Rust library to use it; the first-sandbox walkthrough runs a standard-library-only Python example. Installation and cluster diagnostics use Bash.\n\nSee [DEPENDENCIES.md](https://github.com/perplexityai/SPACE/blob/main/DEPENDENCIES.md) when adding or updating third-party code.\n\nAfter [local installation](https://github.com/perplexityai/SPACE/blob/main/docs/installation.md), run `tilt up` from the repository root to rebuild affected images and roll their workloads as files change. The [Kind runbook](https://github.com/perplexityai/SPACE/blob/main/infra/space/kind/README.md) covers this development loop, local topology, and template builds.\n\nUse focused unit tests for component logic and the [Kind smoke suites](https://github.com/perplexityai/SPACE/blob/main/infra/space/kind/README.md#smoke-test) for runtime behavior. For setup-specific diagnostics, see [host-path troubleshooting](https://github.com/perplexityai/SPACE/blob/main/infra/space/kind/README.md#host-paths-and-running-as-a-user-other-than-dev) and [template-build debugging](https://github.com/perplexityai/SPACE/blob/main/infra/space/kind/README.md#debugging-a-template-build).\n\n```\ncrates/apps/            CLI tools and service binaries\ncrates/libs/            Shared Rust libraries\ndocs/                   Architecture, setup, API walkthrough, and troubleshooting\nexamples/               Runnable API examples without an SDK dependency\nproto/                  gRPC protobuf definitions\ntemplates/firecracker/  Seed builder and template recipes\nscripts/                Utility scripts and smoke suites (scripts/tests/)\ndocker/                 Service Dockerfiles and Rust artifact build\nci/                     CI checks and artifact build scripts\ninfra/space/kind/        Local Kind configuration, bootstrap, and development runbook\ninfra/space/aws/reference/  Reference EKS deployment, applied on a schedule\n```\n\nSPACE is licensed under the [Apache License, Version 2.0](https://github.com/perplexityai/SPACE/blob/main/LICENSE).\n\nSee [CONTRIBUTING.md](https://github.com/perplexityai/SPACE/blob/main/CONTRIBUTING.md) to propose changes or contribute.\n\nFor native API contract, concurrency, recovery, and quarantine coverage, see [Native API hardening](https://github.com/perplexityai/SPACE/blob/main/docs/native-api-hardening.md).", "url": "https://wpnews.pro/news/space-by-perplexity", "canonical_source": "https://github.com/perplexityai/SPACE", "published_at": "2026-10-15 19:41:59+00:00", "updated_at": "2026-10-15 19:58:01.707140+00:00", "lang": "en", "topics": ["ai-agents", "ai-infrastructure", "developer-tools", "ai-tools"], "entities": ["Perplexity", "SPACE", "Firecracker", "E2B", "Kubernetes", "Kind", "E2B Python SDK", "space-admin-cli"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/space-by-perplexity", "markdown": "https://wpnews.pro/news/space-by-perplexity.md", "text": "https://wpnews.pro/news/space-by-perplexity.txt", "jsonld": "https://wpnews.pro/news/space-by-perplexity.jsonld"}}