tendo
A Python library that extends some core functionality
What it is and what it does
Tendo is a utility library that extends Python's standard library with functionality for common development tasks. It provides modules for Unicode file handling with BOM detection, colored console logging, Windows symlink support, process output redirection (a Python tee implementation), and an improved execfile function. The library is small and lightweight, depending only on six for compatibility.
The package targets developers who need cross-platform utility functions without pulling in large frameworks. It has been actively maintained since 2010 and supports modern Python versions (3.6 through 3.11). Most features are documented and the project remains in production-stable status with no known security vulnerabilities.
Use it for:
- Add colored output to console logging without a heavy logging framework dependency
- Handle Unicode text files with automatic BOM detection across platforms
- Capture and redirect output from external programs to both console and file simultaneously
- Execute Python files dynamically with an improved alternative to the deprecated execfile
- Enable symlink support in Windows environments where native support is limited
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Tendo provides utility functions for Python that fill gaps in the standard library, including Unicode file handling, console logging coloring, symlink support on Windows, process output redirection (tee), and an improved execfile implementation.
Yes, if you need one or more of its specific utilities. Tendo is lightweight, permissively licensed, actively maintained, and has no security issues. Install it only for the features you actually use; it's not a general-purpose framework and doesn't justify adding a dependency solely for potential future needs.
Install
tendo on PyPI
pip
pip install tendouv
uv add tendopoetry
poetry add tendoInstalling tendo
Before you install
Low friction install with a single lightweight dependency (six). Actively maintained as of 2026-08-03 with stable production status and broad Python version support from 3.6 onward.
License in practice
Licensed under the Python Software Foundation License (permissive), allowing use in most projects without significant legal constraints.
Quickstart
pip install tendo
from tendo import colorer
colorer.run('echo "colored output"')
Requires Python 3.6 or newer; some features like Windows symlink support may depend on OS-level capabilities.
Verify before relying
- Whether the symlink functionality on Windows requires elevated permissions or specific OS configuration
- Current state of the tee implementation relative to modern alternatives like subprocess.run with capture_output
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — six |
| Maintenance | actively maintained — 1,405 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 146,622/month — #11,094 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tendo-0.3.0-py3-none-any.whl
Keywords: tendo, tee, unicode, colorer, singleton
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
subprocess-multiteeMultiplexes subprocess stdout/stderr to…
unclear · top 15,000 on PyPI
subprocess-teeA drop-in replacement for subprocess.run that…
permissive · top 5,000 on PyPI
emportEmport provides a single function to import…
permissive · top 15,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
pipePipe enables shell-like infix syntax for…
permissive · top 15,000 on PyPI
wcwidthMeasures the displayed width of Unicode strings…
permissive · top 1,000 on PyPI
jaraco.uiProvides command-line and user-interface…
permissive · top 15,000 on PyPI
win_unicode_consoleFixes Unicode input and display in Python when…
permissive · top 15,000 on PyPI
hexorApplies colored text and background styling to…
permissive · top 15,000 on PyPI
crayonsCrayons provides colored text output for…
permissive · top 15,000 on PyPI