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
Metadata
Release files for agy-sandbox 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agy_sandbox-0.1.2.tar.gz | 20.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agy_sandbox-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.9 kB
Release files / agy_sandbox-0.1.2.tar.gz
| Download URL | agy_sandbox-0.1.2.tar.gz |
|---|---|
| Size | 20.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a73f136fe9342c4a7a601c6019ada3b5fd41d17d7e50633c05ba9847362acbb
|
|
BLAKE2b-256 checksum How to use checksums |
f9afe39f00a883fad5d3a4863304a476a6de7971e44953dca70ef3e4819987f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / agy_sandbox-0.1.2-py3-none-any.whl
| Download URL | agy_sandbox-0.1.2-py3-none-any.whl |
|---|---|
| Size | 18.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a71b90cc24cf9020db1e663cf6791c6e6f31c8637978378b9995842249b47663
|
|
BLAKE2b-256 checksum How to use checksums |
dabbc4eb94b341de1c61876fa6cb4b3183c0f155443dc6a512d2a7930e994d04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|