subprocess-tee 0.4.2


pip install subprocess-tee

  Latest version

Released: Jun 17, 2024


Meta
Author: Sorin Sbarnea
Maintainer: Sorin Sbarnea
Requires Python: >=3.8

Classifiers

Development Status
  • 5 - Production/Stable

Environment
  • Console

Intended Audience
  • Developers
  • Information Technology
  • System Administrators

License
  • OSI Approved :: MIT License

Operating System
  • MacOS
  • POSIX :: Linux
  • POSIX

Programming Language
  • Python :: 3
  • Python :: 3.8
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python

Topic
  • System :: Systems Administration
  • Utilities

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.

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies: