Skip to main content

Tako VM

File system and python execution for your agents. Job queues and Docker isolation built-in. Used by teams deploying in enterprise.

PyPI Tests License

English | 日本語

A secure file system for your agents to execute code. Every job runs in its own isolated Docker container, with an ephemeral workspace, optional gVisor sandboxing, job queues, retries, and execution history included.

Where this is headed: durable, per-agent workspaces that persist and rehydrate across runs, a serverless filesystem for agents. Today each container is single-use; persistent workspaces are on the roadmap. gVisor remains the sole isolation boundary.

Documentation · Quick Start · API Reference

Demo: executing Python, installing runtime dependencies, and network isolation via the Tako VM REST API

# Install (requires Docker + Python 3.10+)
pip install "tako-vm[server]"
tako-vm setup                   # pull the executor Docker image
tako-vm server                  # start server (auto-starts PostgreSQL via Docker)
# Execute code
curl -X POST http://localhost:8000/execute \
  -H "Content-Type: application/json" \
  -d '{"code": "print(1 + 1)"}'

Why Tako VM?

Sandbox solutions like e2b, daytona and microsandbox give you isolated code execution, but that's it. You still need to build:

You build With sandbox-only With Tako VM
Job queue Redis + Celery/Bull Built-in
Execution history Postgres + schema PostgreSQL included
Retry logic Custom code Automatic
Idempotency Deduplication logic idempotency_key
Replay/debugging Custom tooling Rerun/fork API

Tako VM is the complete package:

  • Job queue + workers - Async execution with worker pool, no Redis/Celery setup
  • Execution history - Every job persisted with stdout, stderr, timing, artifacts
  • Replay to debug - Rerun past jobs with exact same code and inputs
  • Docker isolation - Each job in its own container with seccomp filtering
  • Network isolation - No network by default, optional allowlist per job type
  • Self-hosted - Your machine, offline-capable, zero per-execution cost

CLI

tako-vm setup                     # Pull executor image and verify Docker
tako-vm server                    # Start the API server
tako-vm server --port 9000        # Custom port
tako-vm dev up                    # Start local PostgreSQL for development
tako-vm dev up --with-server      # Start PostgreSQL + API server
tako-vm dev status                # Check local PostgreSQL status
tako-vm dev down                  # Stop local PostgreSQL
tako-vm config                    # Show current configuration
tako-vm config --json             # Output as JSON
tako-vm validate                  # Validate current config
tako-vm validate my.yaml          # Validate specific file
tako-vm status                    # Check server health
tako-vm version                   # Show version
tako-vm --config my.yaml server   # Use specific config file

Documentation

Topic Link
Installation docs/getting-started/installation.md
Quick Start docs/getting-started/quickstart.md
Configuration docs/getting-started/configuration.md
REST API docs/api/rest.md
Python SDK docs/api/sdk.md
Job Types & Environments docs/guide/environments.md
Filesystem, Caches & ML Models docs/guide/filesystem-and-caches.md
Security docs/deployment/security.md
Deployment docs/deployment/how-to-deploy.md
Config Reference tako_vm.yaml.example

Security

Tako VM runs untrusted, often AI-generated, code, so isolation is the core of the project. It uses layered defenses: gVisor (userspace kernel), per-job ephemeral Docker containers, a default-deny seccomp profile, network isolation (--network=none by default), capability dropping, non-root execution, and enforced resource and input limits.

security_mode: strict with container_runtime: runsc is the default: Tako VM refuses to start a job rather than run it without the gVisor userspace-kernel boundary. Set security_mode: permissive to allow a fallback to standard Docker (runc) on hosts without gVisor, e.g. local development or CI; that fallback removes the userspace-kernel boundary, so do not use it for untrusted code.

See SECURITY.md for the threat model and hardening guidance, and docs/deployment/security.md for full details.

Found a vulnerability? Report it privately via the Security tab → Report a vulnerability. Please do not open public issues for security findings.

Contributing

Contributions are welcome! See CONTRIBUTING.md for dev setup, testing, and PR conventions. Good entry points are issues labeled good first issue, and Discussions is open for questions and ideas.

Contact

Questions, feedback, or partnership inquiries? Reach out to seiji@reachpad.dev.

License

Apache License 2.0

Metadata

Release files for tako-vm 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tako-vm 0.3.0
File Size Uploaded
tako_vm-0.3.0.tar.gz 151.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tako-vm 0.3.0
File Interpreter ABI Platform
tako_vm-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 311.2 kB

Release files / tako_vm-0.3.0.tar.gz

Download URL tako_vm-0.3.0.tar.gz
Size 151.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0bde2ad56356024fd3dbe96c78665fc182080d2468ffa256fc09d391a544a3b9
BLAKE2b-256 checksum
How to use checksums
466b085f4fc47066f7aaacbba8af0f18f5a01a7762d858f151f320edf1eaf219
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / tako_vm-0.3.0-py3-none-any.whl

Download URL tako_vm-0.3.0-py3-none-any.whl
Size 159.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
594a4607ae57c7edf8e596bdea067df80cb1554d9054a08e9ec6db41a551a8da
BLAKE2b-256 checksum
How to use checksums
15e94654efa61441436e8a8a03afb60ebac31ae47c180fc8758fb0427b4dee75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page