Documentation · API reference
API reference
Every name cuprum exports, and the public
submodules its recipes import from, in 8
groups. The entries are read from the source of Cuprum
0.2.0-beta2; anything not listed here is internal
and can change without notice.
Commands and results
Building a typed command from a catalogued program, running it, and reading what it returns.
Programs and catalogues
The programs Cuprum may build commands for, the projects that group them, and the defaults it ships.
Pipelines and concurrency
Joining commands stage to stage, and running independent commands side by side.
Scopes, policy, and hooks
Narrowing what a block of code may run, composing its environment, binding programs to executables, and running code around each command.
Events and observation
The structured events a run emits, and the hooks that receive them.
observeExecEventExecHookcuprum.eventslogging_hookLoggingHookRegistrationobserve_controlControlEventControlHookControlHookRegistrationControlOperationControlOutcomeobserve_line_streamLineStreamEventLineStreamHookLineStreamHookRegistrationLineStreamPhaseLineStreamSinkobserve_echoEchoEventEchoHookEchoHookRegistrationEchoStreamEchoErrorCategoryRelayFallbackcuprum.stream_observation
Rust pump and backends
Whether the optional native pump is present, and what it reports when a pipeline hop uses it or falls back.
Adapters and sinks
Ready-made observe hooks for logging, metrics, and tracing; metrics for stream operations, line events, echo, control operations, and the Rust pump; the redaction policy that keeps secrets out of what they export; and the output sink that frames a run for GitHub Actions.
Errors
The exceptions Cuprum raises when a program is unknown, forbidden, or too slow, when a stdin producer fails, or when a signal cannot reach a child.