⚙️ process-lib
Cross-platform, asynchronous Rust library to run commands in pipelines.
Features
This library can be seen as a convenient async wrapper around std::process::Command
:
- Wraps commands by default with
sh -c
orcmd /C
- Supports pipeline (previous command output sent as input for the next command)
- Exposes convenient functions to export output (as string lossy for example)
- Supports tokio and async-std async runtimes
- Supports serde (de)serialization
The library comes with 3 cargo features, including 1 default one:
tokio
: enables the tokio async runtimeasync-std
: enables the async-std async runtimederive
: enables serde support
Example
use ;
async
See the full API documentation on docs.rs.
Sponsoring
Special thanks to the NLnet foundation and the European Commission that helped the project to receive financial support from various programs:
- NGI Assure in 2022
- NGI Zero Entrust in 2023
- NGI Zero Core in 2024 (still ongoing)
If you appreciate the project, feel free to donate using one of the following providers: