Secure, isolated development environments powered by Docker and the Antigravity AI agent
Project description
agy-sandbox
Secure, isolated development environments powered by Docker and the Antigravity AI agent.
Why does this exist?
Antigravity CLI's default safety constraints require too much manual intervention, but granting the agent full system access is a security risk.
agy-sandbox solves this by running the CLI inside an isolated Docker container. This gives the AI agent the freedom to execute tasks autonomously while strictly preventing it from accessing
or modifying your host machine. In short, the tool minimizes the blast radius if something bad happens.
This Python package is meant to abstract the underlying Docker commands and handle OS-specific configurations, providing a streamlined, cross-platform sandbox out of the box.
Prerequisites
Ensure your system has:
- Python: 3.10+
- Docker: 24.0+ (and running)
Installation
Install via pip:
pip install agy-sandbox
Or using uv:
uv pip install agy-sandbox
Install from Source (Development)
Clone the repository
git clone https://github.com/lideta-technologies/agy-sandbox.git
cd agy-sandbox
Install in development mode (editable)
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
Quick Start & Usage
When you run agy-sandbox on a project directory, the tool automatically handles the container lifecycles:
- Running ➜ Connects directly via
docker exec. - Stopped ➜ Starts the container, then connects.
- Nonexistent ➜ Builds the image, runs the container, and initializes the remote agent session.
# Provision and start a sandbox (default provider is Google AI Studio)
agy-sandbox /path/to/your/project
# Explicitly specify Vertex AI billing
agy-sandbox /path/to/your/project --provider vertex
# List all sandbox containers
agy-sandbox list
# Stop a sandbox container (accepts current workspace, a custom path, or direct container name)
agy-sandbox stop
agy-sandbox stop /path/to/your/project
# Remove a sandbox container (accepts current workspace, a custom path, or direct container name)
agy-sandbox remove
agy-sandbox remove /path/to/your/project
# View container logs
agy-sandbox logs --follow
Switching Providers and Authentication State
AI Studio uses a simple web authentication mechanism. Vertex AI requires a Google Cloud project setup with Application Default Credentials (ADC) configured on your host (gcloud auth application-default login).
Switching between them is not always as simple as changing an environment variable because the Antigravity CLI prioritizes cached Google OAuth sessions over new configurations.
How to Switch Providers
To switch from Google AI Studio to Google Vertex AI:
- Log out of your active session:
Inside the active
/workspaceterminal of the container (or from theagyprompt), run:agy logout # (Or type /logout directly in the active agent session)
- Re-run with your new provider:
agy-sandbox /path/to/your/project --provider vertex
- Select GCP Project Option:
When prompted, choose option
2. Use a Google Cloud project. This bypasses the cached Google AI Studio OAuth flow and forces the CLI to use your mounted ADC credentials.
How It Works (Volume Mounts)
The following host paths are automatically mounted into your isolated container:
| Host Path | Container Path | Purpose |
|---|---|---|
| Your project directory | /workspace |
Project code (live-mounted) |
~/.config/antigravity |
~/.config/antigravity |
Antigravity auth tokens and agent state |
~/.gemini |
~/.gemini_host (re-mapped) |
Google Gemini credentials |
~/.cache/uv |
~/.cache/uv |
Shared python package cache |
~/.local/share/uv |
~/.local/share/uv |
Shared python binaries and environments |
Contributing
We welcome contributions to help improve agy-sandbox.
Development Setup
- Clone the repository:
git clone https://github.com/lideta-technologies/agy-sandbox.git cd agy-sandbox
- Create and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activate
- Install dependencies in editable mode:
pip install -e ".[dev]" pytest pytest-cov
Running Tests
Make sure all unit tests run and pass before submitting a pull request:
pytest --cov=agy_sandbox --cov-report=term-missing
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agy_sandbox-0.1.2.tar.gz.
File metadata
- Download URL: agy_sandbox-0.1.2.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a73f136fe9342c4a7a601c6019ada3b5fd41d17d7e50633c05ba9847362acbb
|
|
| MD5 |
57fb04a75b271cc4e674ea9b07754b57
|
|
| BLAKE2b-256 |
f9afe39f00a883fad5d3a4863304a476a6de7971e44953dca70ef3e4819987f1
|
File details
Details for the file agy_sandbox-0.1.2-py3-none-any.whl.
File metadata
- Download URL: agy_sandbox-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a71b90cc24cf9020db1e663cf6791c6e6f31c8637978378b9995842249b47663
|
|
| MD5 |
d612423e9dbbe7c642c118f7b83774bb
|
|
| BLAKE2b-256 |
dabbc4eb94b341de1c61876fa6cb4b3183c0f155443dc6a512d2a7930e994d04
|