logistro
Simple wrapper over logging for a couple basic features
What it is and what it does
logistro is a thin wrapper around Python's logging module that adds sensible defaults and a debug2 log level for verbose output. It provides getLogger() to initialize loggers with built-in configuration, getPipeLogger() to capture subprocess stderr directly into the logging system, and CLI flags to control logging behavior at runtime. The package supports both human-readable and JSON-structured output formats and is designed to be thread-safe.
The main use case is reducing boilerplate when setting up logging in Python applications, especially those that spawn subprocesses or need to switch between output formats. It has no external runtime dependencies, making it lightweight to add to any project.
Use it for:
- Set up thread-safe logging with sensible defaults in a new Python application without manual basicConfig() calls
- Capture stderr from subprocess.Popen() calls and route them through the standard logging system
- Switch between human-readable and JSON-structured log output via CLI flags in production deployments
- Add a debug2 level for verbose diagnostic output when investigating issues in development
- Integrate logging configuration into argparse-based CLI tools via logistro.parser
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
logistro wraps Python's standard logging module to provide sensible defaults, a debug2 level for verbose output, and a getPipeLogger() function for capturing subprocess stderr into the logging system.
Yes, if you want to reduce logging boilerplate and need subprocess stderr capture or structured/human format switching. The package is lightweight with no dependencies and permissively licensed. Aging maintenance status is not a blocker for a stable logging wrapper, but verify debug2 level integration with your existing handlers meets your needs.
Install
logistro on PyPI
pip
pip install logistrouv
uv add logistropoetry
poetry add logistroInstalling logistro
Before you install
Low install friction with no runtime dependencies. Maintenance status is aging—last commit 2025-11-12, though the package is relatively new (first release 2024-12-27) and continues to receive updates.
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for any project type.
Quickstart
import logistro
logger = logistro.getLogger(__name__)
logger.debug2('verbose output')
logger.info('standard info')
# For subprocesses:
pipe, logger = logistro.getPipeLogger(__name__+"-subprocess")
import subprocess
subprocess.Popen(['command'], stderr=pipe)
Requires Python 3.8 or later
Verify before relying
- Whether debug2 level integrates seamlessly with third-party logging handlers expecting standard Python log levels
- Performance characteristics in high-throughput logging scenarios
Package facts
| License | MIT License Copyright (c) 2025 GeoPozo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 286 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 5,185,601/month — #2,145 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: logistro-2.0.1-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
subprocess-multiteeMultiplexes subprocess stdout/stderr to…
unclear · top 15,000 on PyPI
loguruLoguru provides a pre-configured logger that…
permissive · top 1,000 on PyPI
logmuseAdds standard CLI logging options…
permissive · top 15,000 on PyPI
glogA simplified Google-style logging wrapper that…
permissive · top 15,000 on PyPI
EasyProcessEasyProcess wraps Python's subprocess module to…
permissive · top 5,000 on PyPI
wurlitzerCaptures C-level stdout and stderr output in…
permissive · top 5,000 on PyPI
multiprocessing-loggingProvides a logging handler that tunnels log…
copyleft · top 15,000 on PyPI
logzerologzero provides pre-configured Python logging…
permissive · top 5,000 on PyPI
flake8-loggingA Flake8 plugin that detects and flags common…
permissive · top 15,000 on PyPI
verboselogsAdds four custom logging levels (NOTICE, SPAM,…
permissive · top 15,000 on PyPI