running-process

raw JSON →
3.1.0 verified Fri May 01 auth: no python

A Rust-backed subprocess wrapper providing split stdout/stderr streaming with real-time output capture. Current version 3.1.0 requires Python >=3.10. Released under MIT license, maintained by zackees.

pip install running-process
error ImportError: cannot import name 'RunningProcess' from 'running_process'
cause The package is installed but the import path is wrong or the package version is too old.
fix
Use from running_process import RunningProcess and ensure you have installed version >=3.0.0.
error AttributeError: 'RunningProcess' object has no attribute 'run'
cause The class does not have a `run` method in older versions.
fix
Upgrade to version >=3.0.0: pip install --upgrade running-process.
error OSError: [WinError 1920] The file cannot be accessed by the system
cause Windows antivirus or permission issue blocking the Rust binary.
fix
Add an exception for the running-process binary in your antivirus or run as administrator.
breaking Version 2.x broke compatibility: the `run()` method changed from returning a tuple to an object; use `.run()` with explicit capture.
fix Upgrade to >=3.0.0 and ensure you access stdout/stderr as returned tuple.
gotcha The `run()` method blocks until process finishes; do not use with long-running processes if you need real-time output.
fix Use `start()` and iterate over `stdout_lines()` for streaming.
gotcha Running on non-POSIX or unsupported platforms may raise ImportError because of Rust binary dependency.
fix Ensure you are on a supported platform (Linux x86_64, macOS x86_64/arm64, Windows x86_64).

Run a simple command and capture stdout/stderr.

from running_process import RunningProcess

proc = RunningProcess(['echo', 'hello'])
stdout, stderr = proc.run()
print(stdout.strip())