Skip to main content

Crate sail

Crate sail 

Source
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 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 client::Client;
pub use client::ClientBuilder;

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, CLI, future hosts).
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.
sailbox
Typed sailbox surface: domain models and the HTTP API client.
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).