Skip to main content

A secure file system and Python execution layer for AI agents: isolated Docker/gVisor containers with job queues, retries, and history

Project description

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
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.

For untrusted workloads in production, set security_mode: strict with container_runtime: runsc. The default permissive mode falls back to standard Docker (runc) if gVisor is unavailable, which removes the userspace-kernel boundary.

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 tabReport 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@intencion.io.

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tako_vm-0.1.5.tar.gz (127.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tako_vm-0.1.5-py3-none-any.whl (138.1 kB view details)

Uploaded Python 3

File details

Details for the file tako_vm-0.1.5.tar.gz.

File metadata

  • Download URL: tako_vm-0.1.5.tar.gz
  • Upload date:
  • Size: 127.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","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}

File hashes

Hashes for tako_vm-0.1.5.tar.gz
Algorithm Hash digest
SHA256 176e307c165d32e85022e7876a75fdd8d976553ebb62058ba98dae4bfdf107b3
MD5 486afd0cc4d8aa87f1515919a9a73278
BLAKE2b-256 5a3145c7889904672593b69ae8ca0e429a90c8560cc041a3eb220cd2904fa2ef

See more details on using hashes here.

File details

Details for the file tako_vm-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: tako_vm-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 138.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","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}

File hashes

Hashes for tako_vm-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 dc0d4366a1e9484aed03b9680ae219e3c46cbdf192721d16c34c5f1014ceec35
MD5 7e930a23aea18b814d0eeed978188fe1
BLAKE2b-256 d30471ddfc0dd4ed7743da90d68e4ec88e1734261444e9f1c1ccadcfe6adccac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page