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.

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.3.5.tar.gz (16.9 kB view hashes)

Uploaded source

Built Distribution

subprocess_tee-0.3.5-py3-none-any.whl (8.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page