pprintpp
A drop-in replacement for pprint that's actually pretty
What it is and what it does
pprintpp enhances Python's built-in pprint module to produce more readable, PEP8-compliant output for nested data structures. It handles collections like defaultdict and Counter, numpy arrays, and unicode characters more intelligently than the standard library version, printing unescaped unicode where safe and formatting complex nested structures with clearer indentation.
The package offers multiple usage modes: as a direct import replacement, a command-line tool (pypprint), an ipython extension, or via monkeypatching to replace the standard pprint. It has no runtime dependencies and installs cleanly, but is no longer maintained—the last release was 2018-07-01 and development has been abandoned, meaning it may not work correctly with recent Python versions or libraries.
Use it for:
- Debug complex nested dictionaries and lists in interactive Python sessions with clearer formatting
- Use as an ipython extension to automatically pretty-print all output with improved readability
- Format numpy arrays and collections.Counter objects inline within data structures for better visibility
- Monkeypatch pprint globally in legacy codebases to improve debug output without changing every call site
- Pipe Python literals through the pypprint command-line tool to format them from shell scripts
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pprintpp is a drop-in replacement for Python's standard pprint module that formats data structures with improved readability and PEP8 compliance, supporting collections, numpy arrays, and better unicode handling.
No. While pprintpp is lightweight and has no dependencies, it is abandoned (last release 2018-07-01, last commit 2022-12-24) and will not be maintained for modern Python versions. Unless you are working with legacy code that already depends on it, consider a maintained alternative.
Install
pprintpp on PyPI
pip
pip install pprintppuv
uv add pprintpppoetry
poetry add pprintppInstalling pprintpp
Before you install
Installation is straightforward with no runtime dependencies. However, the package is abandoned—last release was 2018-07-01 and last commit 2022-12-24—so it will not receive bug fixes or updates.
License in practice
BSD license is permissive, allowing use in both open-source and proprietary projects with minimal restrictions.
Quickstart
pip install pprintpp
import pprintpp
pprintpp.pprint({'hello': 'world'})
Verify before relying
- Whether the package works reliably with current Python versions given its abandoned status and last release in 2018
- Whether numpy and collections support still function as documented or have bitrotted
- Current state of the ipython extension integration
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,966 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 13,061,467/month — #1,295 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pprintpp-0.4.0-py2.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
wadler-lindigFormats Python objects for readable output…
permissive · top 5,000 on PyPI
prettyprinterSyntax-highlighted, declarative pretty printer…
permissive · top 5,000 on PyPI
cheap-reprProvides short, fast, configurable string…
permissive · top 15,000 on PyPI
histoprintHistoprint renders NumPy histograms and…
permissive · top 15,000 on PyPI
lovely-numpyProvides a human-readable summary of NumPy…
permissive · top 15,000 on PyPI
treescopeTreescope is an interactive HTML pretty-printer…
permissive · top 5,000 on PyPI
tabulateFormats and prints tabular data in plain text…
permissive · top 1,000 on PyPI
pypyppyp lets you write Python expressions and…
permissive · top 15,000 on PyPI
unicodecsvDrop-in replacement for Python 2.7's csv module…
permissive · top 5,000 on PyPI
json-numpyProvides lossless JSON encoding and decoding…
permissive · top 15,000 on PyPI