oconnor663/duct.rs
a Rust library for running child processes observed · 2026-08-28
Health v2 · maintenance only
56/100
- Activity 52
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 3847
- days_rel: n/a
- days_push: 288
- n_releases_24m: 0
Adoption not part of the score
1040 stars · 44 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Duct is a Rust library for running child processes with shell-like pipelines and IO redirection while avoiding common cross-platform pitfalls. It provides a fluent API for building commands, piping them together, and capturing or streaming output with sensible error handling.
Use cases
- run child processes from Rust code
- build shell-like pipelines programmatically
- capture stdout of a command as a string
- pipe one command's output into another
- merge stderr into stdout and read incrementally
- treat non-zero exit codes as errors by default
When to choose
- you need to spawn and compose subprocesses in Rust without shell quoting bugs
- you want portable process pipelines across Linux, macOS, and Windows
- you prefer ergonomic command execution over std::process boilerplate
When to avoid
- you need advanced shell features like globbing or environment variable expansion
- you only need a single simple subprocess and std::process suffices
- you need asynchronous process management with tokio
Facets
library · maturity stable
developer-tools concurrency error-handling developer-tools rust cross-platform child-processes process-pipelines shell-alternative io-redirection command-line automation
1 source
- readme: https://github.com/oconnor663/duct.rs · fetched 2026-08-28 · bbb69b6c8bf8
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| oconnor663/duct.rs | main | 56 |
For agents
markdown · JSON · MCP: product_card(name="oconnor663/duct.rs")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem