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.11
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.11-py3-none-any.whl | Python 3 | none | any | Details |
Release files / quicksand_overlay_scaffold-0.3.11-py3-none-any.whl
| Download URL | quicksand_overlay_scaffold-0.3.11-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aff24e80f415494c81728e4a395d7f562a6886d373137b451c2e82fec4eff5f8
|
|
BLAKE2b-256 checksum How to use checksums |
2bb76c916ac66517e520a9711aaee4b8e2e2d926bd99ddf28dd60b6c3ed9c1e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","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}
|