Conduit¶
The durable key/value rendezvous between host and sandbox — the only channel between the two halves.
store_from_env selects a concrete backend from the environment; every backend implements the same
three-operation Conduit interface. ObjectInfo describes a listed object.
resoluto.sandbox.Conduit
¶
Bases: ABC
Durable key/value rendezvous (localfs, S3, GCS).
copy_prefix
async
¶
Copy every object under src_prefix to dst_prefix, returning the count copied.
exclude_segments: relative-path SEGMENTS to skip (e.g. ("steps",) drops every
.../steps/... subtree — a resumed run must not inherit the prior run's step
chunk indexes, or the telemetry reader mistakes the re-run pod for silent).
Source code in src/resoluto/sandbox/contracts.py
aclose
async
¶
Release any cached client/session. Default no-op; override where there's something to release (a cached HTTP session, connection pool, etc). One name across every Conduit.
delete_prefix
async
¶
Delete every object under prefix, returning the count deleted. Retention/GC is
the CALLER's policy; the conduit supplies only the mechanism.
Source code in src/resoluto/sandbox/contracts.py
resoluto.sandbox.ObjectInfo
¶
Bases: BaseModel
resoluto.sandbox.conduit.factory.store_from_env
¶
Build a Conduit from environment variables. Inputs: optional env dict (defaults to os.environ). Output: a concrete Conduit for the requested RESOLUTO_STORE_KIND.
Source code in src/resoluto/sandbox/conduit/factory.py
resoluto.sandbox.StdoutConduit
¶
resoluto.sandbox.conduit.s3.S3Conduit
¶
S3Conduit(
bucket,
*,
endpoint_url=None,
region_name=None,
aws_access_key_id=None,
aws_secret_access_key=None,
aws_session_token=None,
)
Bases: Conduit