Skip to main content

subprocess-tee

Project description

subprocess-tee

This package provides a drop-in alternative to subprocess.run that captures the output while still printing it in real-time, just the way tee does.

Printing output in real-time while still capturing is valuable for any tool that executes long-running child processes. For those, you do want to provide instant feedback (progress) related to what is happening.

# from subprocess import run
from subprocess_tee import run

result = run("echo 123")
result.stdout == "123\n"

You can add tee=False to disable the tee functionality if you want, this being a much shorter alternative than adding the well known stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL.

Keep in mind that universal_newlines=True is implied as we expect text processing, this being a divergence from the original subprocess.run.

You can still use check=True in order to make it raise CompletedProcess exception when the result code is not zero.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

subprocess_tee-0.4.2.tar.gz (15.0 kB view hashes)

Uploaded Source

Built Distribution

subprocess_tee-0.4.2-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page