Expand description
sail-core: the canonical, typed Sail SDK.
Client is the entry point: a cheap-to-clone async handle that owns
configuration and transport (HTTP for lifecycle/app, gRPC for the
per-sailbox worker proxy). Bindings (the Python extension, the TypeScript
napi addon, and the CLI) are thin layers over it.
As a library, sail-core documents its whole public API and never writes to
the process streams or exits: callers decide how to surface output and
errors.
The transport plumbing the bindings reach into lives under the hidden
[internal] module; it is not part of the public API and carries no
stability guarantee.
Re-exports§
pub use worker::FileReader;pub use worker::FileWriter;pub use worker::Listener;pub use worker::WriteOptions;pub use client::Client;pub use client::ClientBuilder;pub use sailbox::object::Sailbox;pub use time;
Modules§
- app
- Typed app discovery over the central API.
- client
- The Sail client: the canonical async surface that owns configuration and transport, shared by every binding (Python, TypeScript, CLI).
- config
- SDK configuration loaded from environment variables.
- error
- Canonical, language-neutral error taxonomy for the Sail core.
- exec
- Streaming exec engine: a running command in a sailbox with live output.
- guest
- Helpers for code running inside a sailbox guest: the identity the platform injects at boot, and the metadata of mounted volumes. These read only local state (environment, kernel cmdline, mount metadata files) and fail with a clear error outside a guest.
- image
- Typed image specification for
CreateSailboxRequest. - imagebuild
- The custom-image build pipeline, shared by every SDK: resolve an
ImageDefinition(walk local directories, hash files, upload content) into a content-addressedImageSpec, then build it to ready. - sailbox
- Typed sailbox surface: domain models and the HTTP API client.
- shell
- Interactive PTY bridge: the local terminal driven against a
ptyexec. - worker
- Per-sailbox worker-proxy client: the gRPC operations that terminate at a sailbox’s own worker proxy (exec wait/cancel, listeners, files), sharing one lazily-dialed, drain-aware channel cache and the API-key credential.
Functions§
- block_
on - Drive a future to completion on the shared runtime, the sync facade for callers outside any async context (the PyO3 bridge with the GIL released, and the CLI).