subprocess-multitee
A small `tee` function for splitting stdout/stderr in subprocess, and a `subprocess.Popen` convenience wrapper
Decision gist · record as of 2026-08-14
Yes. The package solves a genuine subprocess limitation with a clean, composable API, has no dependencies, low install friction, and is actively maintained. The only caveat is verifying the actual license before use—the description mentions MIT but the fact sheet marks it unclear.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure Python wheel with no runtime dependencies and requires only Python 3.6+.
- Actively maintained with recent releases.
License · maintenance · safety
(unclear) — License status is unclear—the fact sheet lists no SPDX identifier or raw license text. Verify the actual license before use in proprietary or restricted contexts.
last release 2025-12-14 (243 days) · last repo commit 2026-02-27 · 2 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 88,501 downloads/mo, #13,724 on PyPI
Alternatives
Verify before relying
from subprocess_multitee import Popen, tee, PIPE
import sys
proc = Popen(['make'], stdout=tee(PIPE, sys.stdout))
output = proc.stdout.read()
proc.wait()- Actual license terms—the package description states MIT but the fact sheet lists license_treatment as 'unclear' with no SPDX identifier
What it is and what it does
subprocess-multitee solves the standard library's either-or problem: subprocess.Popen forces you to choose between capturing output (stdout=PIPE) or displaying it (stdout=sys.stdout), but not both. This package provides a tee() function that creates a pipe spawning a background thread to read and write to multiple destinations in real-time, plus a Popen subclass that integrates cleanly with the tee primitive.
You pass tee() any combination of PIPE, DEVNULL, file objects, or file descriptors as destinations. The library handles the threading and I/O multiplexing, so you can simultaneously capture output, print to the terminal, and log to files—all from a single subprocess invocation. It works with the standard subprocess.run(), call(), check_call(), and check_output() functions via drop-in replacements, or directly with the enhanced Popen class.
Use it for
- Run a build or test command (make, pytest) and capture full output while showing progress in real-time on the terminal.
- Log subprocess output to a file while simultaneously displaying it to the user, for debugging long-running processes.
- Capture output silently (tee to DEVNULL and PIPE) for programmatic inspection without terminal noise.
- Multiplex both stdout and stderr to separate log files and the console in a single Popen call.
- Integrate subprocess output capture into a training or data pipeline where you need both real-time feedback and recorded logs.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package solves a genuine subprocess limitation with a clean, composable API, has no dependencies, low install friction, and is actively maintained. The only caveat is verifying the actual license before use—the description mentions MIT but the fact sheet marks it unclear.
Install
subprocess-multitee on PyPI
Before you install
Low friction: pure Python wheel with no runtime dependencies and requires only Python 3.6+. Actively maintained with recent releases.
License in practice
License status is unclear—the fact sheet lists no SPDX identifier or raw license text. Verify the actual license before use in proprietary or restricted contexts.
Quickstart
from subprocess_multitee import Popen, tee, PIPE
import sys
proc = Popen(['make'], stdout=tee(PIPE, sys.stdout))
output = proc.stdout.read()
proc.wait()
Verify before relying
- Actual license terms—the package description states MIT but the fact sheet lists license_treatment as 'unclear' with no SPDX identifier
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 243 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 88,501 / month, #13,724 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: subprocess_multitee-0.2.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “tee stdout stderr to multiple destinations”
- subprocess-multiteeMultiplexes subprocess stdout/stderr to multiple destinations…
- subprocess-teeA drop-in replacement for subprocess.run that captures output while…
- scripttestscripttest runs command-line applications in subprocesses and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also logistro · sarge · subprocess-tee · tendo · wurlitzer · EasyProcess · subprocess.run · fancy-subprocess · scripttest · runs