daytona README

The project's README from github.com/daytonaio/daytona. As one markdown file: README.md.

[!IMPORTANT] This repository is no longer maintained.

As of June 2026, Daytona's core development has moved to a private codebase. This repository will receive no further updates, fixes, or releases. It remains public and free to use, fork, and build on under the LICENSE, as is and without support or warranty.

Daytona resources are available at github.com/daytona.

 

Daytona logo

Run AI Code.
Secure and Elastic Infrastructure for Running Your AI-Generated Code.

Documentation · Report Bug · Request Feature · Join our Slack · Connect on X

 

Daytona is a secure and elastic infrastructure runtime for AI-generated code execution and agent workflows. Our open-source platform provides sandboxes, full composable computers with complete isolation, a dedicated kernel, filesystem, network stack, and allocated vCPU, RAM, and disk.

Sandboxes are the core component of the Daytona platform, spinning up in under 90ms from code to execution and running any code in Python, TypeScript, and JavaScript. Built on OCI/Docker compatibility, massive parallelization, and unlimited persistence, sandboxes deliver consistent, predictable environments for agent workflows.

Agents and developers interact with sandboxes programmatically using the Daytona SDKs, API, and CLI. Operations span sandbox lifecycle management, filesystem operations, process and code execution, and runtime configuration through base images, packages, and tooling. Our stateful environment snapshots enable persistent agent operations across sessions, making Daytona the ideal foundation for AI agent architectures.

Features

Daytona provides an extensive set of features and tools for interacting with sandboxes.

Platform Sandboxes Agent tools Human tools System tools
Organizations Environment Process & code execution Dashboard Webhooks
API Keys Snapshots File system operations Web terminal Network limits
Limits Declarative builder Language server protocol SSH access
Billing Volumes Computer use VNC access
Audit logs Regions MCP server VPN connection
OpenTelemetry Git operations Preview
Integrations Pseudo terminal (PTY) Custom preview proxy
Security exhibit Log streaming Playground

Architecture

Daytona platform is organized into multiple plane components, each serving a specific purpose. A detailed overview of each component is available in the architecture documentation.

Client libraries

Client libraries integrate the Daytona platform from application code through developer-facing SDKs backed by OpenAPI-generated REST clients and toolbox API clients. Each directory is a publishable package for a specific language or runtime, available in the libs directory.

Python

pip install daytona

Standalone packages and libraries for interacting with Daytona using Python:

sdk-python • api-client-python • api-client-python-async • toolbox-api-client-python • toolbox-api-client-python-async

TypeScript

npm install @daytona/sdk

Standalone packages and libraries for interacting with Daytona using TypeScript:

sdk-typescript • api-client • toolbox-api-client

Ruby

gem install daytona

Standalone packages and libraries for interacting with Daytona using Ruby:

sdk-ruby • api-client-ruby • toolbox-api-client-ruby

Go

go get github.com/daytonaio/daytona/libs/sdk-go

Standalone packages and libraries for interacting with Daytona using Go:

sdk-go • api-client-go • toolbox-api-client-go

Java

Gradle (build.gradle.kts):

dependencies {
    implementation("io.daytona:sdk:x.y.z")
}

Maven (pom.xml):

<dependency>
  <groupId>io.daytona</groupId>
  <artifactId>sdk</artifactId>
  <version>x.y.z</version>
</dependency>

Standalone packages and libraries for interacting with Daytona using Java:

sdk-java • api-client-java • toolbox-api-client-java

Quick Start

  1. Create an account at app.daytona.io
  2. Generate an API key
  3. Create a sandbox

Python SDK

from daytona import Daytona, DaytonaConfig

config = DaytonaConfig(api_key="YOUR_API_KEY")
daytona = Daytona(config)
sandbox = daytona.create()
response = sandbox.process.code_run('print("Hello World!")')
print(response.result)

Typescript SDK

import { Daytona } from "@daytona/sdk";

const daytona = new Daytona({ apiKey: "YOUR_API_KEY" });
const sandbox = await daytona.create();
const response = await sandbox.process.codeRun('print("Hello World!")');
console.log(response.result);

Ruby SDK

require 'daytona'

config = Daytona::Config.new(api_key: 'YOUR_API_KEY')
daytona = Daytona::Daytona.new(config)
sandbox = daytona.create
response = sandbox.process.code_run(code: 'print("Hello World!")')
puts response.result

Go SDK

package main

import (
  "context"
  "fmt"
  "github.com/daytonaio/daytona/libs/sdk-go/pkg/daytona"
  "github.com/daytonaio/daytona/libs/sdk-go/pkg/types"
)

func main() {
  config := &types.DaytonaConfig{APIKey: "YOUR_API_KEY"}
  client, _ := daytona.NewClientWithConfig(config)
  ctx := context.Background()
  sandbox, _ := client.Create(ctx, nil)
  response, _ := sandbox.Process.ExecuteCommand(ctx, "echo 'Hello World!'")
  fmt.Println(response.Result)
}

Java SDK

import io.daytona.sdk.Daytona;
import io.daytona.sdk.DaytonaConfig;
import io.daytona.sdk.Sandbox;
import io.daytona.sdk.model.ExecuteResponse;

public class Main {
  public static void main(String[] args) {
    DaytonaConfig config = new DaytonaConfig.Builder()
        .apiKey("YOUR_API_KEY")
        .build();
    try (Daytona daytona = new Daytona(config)) {
      Sandbox sandbox = daytona.create();
      ExecuteResponse response = sandbox.getProcess().executeCommand("echo 'Hello World!'");
      System.out.println(response.getResult());
    }
  }
}

API

curl 'https://app.daytona.io/api/sandbox' \
  --request POST \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{}'

CLI

daytona create

daytona (daytonaio/daytona)

sandboxing
Searching Database…

71.5K ·GitHub
archived
What is this?Daytona is a secure, elastic infrastructure runtime for running AI-generated code inside isolated sandboxes, used by agents and developers through SDKs, an API, and a CLI.
Is this a cloud service I sign up for, or software I run myself?It's an infrastructure platform: each sandbox is a full, isolated computer with its own kernel, filesystem, network stack, and allocated vCPU/RAM/disk, provisioned through Daytona rather than run locally.
How do I start running code in a sandbox?Create an account at app.daytona.io, generate an API key, then create a sandbox using the Python, TypeScript, Ruby, Go, or Java SDK, the REST API, or the CLI.
Which languages can my code actually run in?Sandboxes execute Python, TypeScript, and JavaScript code, and spin up in under 90ms; SDKs for driving them are available in Python, TypeScript, Ruby, Go, and Java.
Is this project still maintained?No - as of June 2026 development moved to a private codebase; this public repository gets no further updates, fixes, or releases and is provided as-is without support.
How fast do sandboxes spin up?Sandboxes go from code to execution in under 90ms, giving near-instant isolated environments for agent workflows.
What is the MCP server for?Daytona exposes an MCP server so AI agents can call sandbox operations like code execution and filesystem access through the Model Context Protocol.
Can I interact with a sandbox directly, not just through code?Yes - human tools include a dashboard, web terminal, SSH access, VNC access, and a preview proxy for inspecting or controlling a running sandbox.
Why not just run AI-generated code locally instead of using Daytona?Each sandbox is an OCI/Docker-compatible, fully isolated computer with its own kernel, filesystem, and dedicated vCPU/RAM/disk, giving agent code a consistent, persistent, massively parallelizable environment that running locally can't safely provide.
Creator
daytonaio
Size
156 MB
Stars
71.5K
Age
2y
Commits · 90 Days