Image is the static namespace for two related things: configuring an explicit rootfs source for a sandbox (Image.oci, Image.bind, Image.disk), and managing the local OCI image cache that sandbox creation pulls into (get, list, inspect, remove, prune). Cache operations require a local backend. See Sandbox for the image= and pull_policy= creation kwargs.
Typical flow
Source factory
These static methods return anImageSource you can pass as the image= kwarg to Sandbox.create(). A plain string also works (image="python:3.12"); use the factory when you need OCI-only options like the writable upper size, or to be explicit about a bind or disk source.
Image.oci()
Example
Example
upper_size_mib to size the writable overlay upper layer; otherwise the default applies.
Parameters
referencestrOCI image reference, e.g.
“python:3.12”.upper_size_mibint | NoneWritable overlay upper size in MiB.
None keeps the default.Returns
Rootfs source for
image=.Image.bind()
Example
Example
Parameters
pathstrHost directory to use as the rootfs.
Returns
Rootfs source for
image=.Image.disk()
Example
Example
fstype when the filesystem type cannot be auto-detected.
Parameters
pathstrPath to the disk image (e.g.
.qcow2, .raw, .vmdk).fstypestr | NoneFilesystem type, e.g.
“ext4”. None auto-detects.Returns
Rootfs source for
image=.Cache management
These static methods inspect and prune images already pulled into the local OCI cache. They require a local backend; on a cloud backend they raiseUnsupportedError.
Image.get()
Example
Example
ImageNotFoundError when the image is not present in the local cache.
Parameters
referencestrImage reference to look up.
Returns
Handle to the cached image.
Image.list()
Example
Example
Returns
All cached image handles.
Image.inspect()
Example
Example
Parameters
referencestrImage reference to inspect.
Returns
Handle, OCI config, and layers.
Image.remove()
Example
Example
force is False, an image still referenced by one or more sandboxes raises ImageInUseError; pass force=True to remove it anyway.
Parameters
referencestrImage reference to delete.
forceboolRemove even if still referenced. Default
False.Image.prune()
Example
Example
Returns
Counts of removed data and bytes reclaimed.
Types
ImageSource
Returned by oci() · bind() · disk()
Explicit rootfs image source. Build one withImage.oci(), Image.bind(), or Image.disk(), then pass it as the image= kwarg to Sandbox.create(). A frozen dataclass; treat its fields as opaque.
ImageHandle
A lightweight handle to a cached OCI image, returned byImage.get() and Image.list(). Properties are read-only attributes; the two methods are async.
ImageDetail
Returned by inspect() · ImageHandle.inspect()
Full detail for a cached image: the core handle, the parsed OCI config block, and per-layer metadata.ImageConfigDetail
Used by ImageDetail.config
OCI image config fields extracted from the local cache.ImageLayerDetail
Used by ImageDetail.layers
Metadata for a single image layer.ImagePruneReport
Returned by prune()
Summary of cached image data removed byImage.prune().
DiskImageFormat
Used by ImageSource._format
Disk image container format. AStrEnum, so the string values are accepted directly.
Errors
Image operations raise these typed exceptions, all subclasses ofMicrosandboxError.