Skip to content

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.

Generated from a4089878

Plate 19 A globe valve laid out part by part, as the reference lays out each module, class, and function that makes up Cuprum.

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.

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.