quicksand-overlay-scaffold
Scaffold a new overlay image package for quicksand.
Overlay packages boot a base VM (default: Ubuntu), run setup commands to install software, and save the result as a compressed overlay. The overlay is bundled into a wheel so users can quicksand install and quicksand run it without rebuilding.
Usage
quicksand-overlay-scaffold my-agent-sandbox
This creates a my-agent-sandbox/ directory with:
my-agent-sandbox/
├── pyproject.toml # Package metadata and entry points
├── hatch_build.py # Edit _setup() with your install steps
├── README.md
└── my_agent_sandbox/
├── __init__.py # ImageProvider entry point
├── sandbox.py # Optional Sandbox subclass
└── images/ # Built overlay (populated during uv build)
Next Steps
- Edit
hatch_build.py— add your install commands to_setup():
async def _setup(shell: Shell) -> None:
await shell("apt-get update", timeout=120)
await shell("apt-get install -y your-packages", timeout=300)
await shell("pip install your-python-deps", timeout=300)
- Build the package (boots a VM, runs setup, saves overlay):
uv build --package my-agent-sandbox
- Test it:
quicksand run my-agent-sandbox
How It Works
During uv build, the hatch_build.py hook:
- Boots an Ubuntu VM with 4G memory, 4 CPUs, full network, 10G disk
- Runs your
_setup(shell)function inside the VM - Saves the VM state as a compressed qcow2 overlay
- Packages the overlay into a platform-specific wheel
Subsequent builds skip the VM step if images/manifest.json already exists. Delete the images/ directory to force a rebuild.
Metadata
Release files for quicksand-overlay-scaffold 0.3.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quicksand_overlay_scaffold-0.3.12-py3-none-any.whl | Python 3 | none | any | Details |
Release files / quicksand_overlay_scaffold-0.3.12-py3-none-any.whl
| Download URL | quicksand_overlay_scaffold-0.3.12-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec19909f3bf593661831f8e707993cf35d8551b824c180824f44c679e51c51bc
|
|
BLAKE2b-256 checksum How to use checksums |
25f32e422fae34bcdc951e438b7afb3c5ef76da88203eed88c489fa8e13b4b8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}
|