histoprint
Pretty print of NumPy (and other) histograms to the console
What it is and what it does
Histoprint is a terminal-based histogram visualization tool that takes NumPy histogram data (or compatible formats from boost-histogram and uproot) and renders it to the console using Unicode characters and ANSI color codes. It supports multiple display modes: overlaying histograms on top of each other, stacking them, or showing summary statistics alongside the plot. The package handles variable bin widths and can display up to multiple histograms simultaneously with custom colors, symbols, and labels.
The tool is designed for quick data exploration in environments where graphical output is unavailable or impractical—such as remote servers, CI/CD pipelines, or interactive terminal sessions. It includes both a Python API (text_hist and print_hist functions) and a command-line interface that can read tabulated data, CSV files, or ROOT files directly, making it useful for scientists and data engineers who work frequently in the terminal.
Use it for:
- Explore data distributions on remote servers or SSH sessions where graphical displays are unavailable.
- Quickly visualize histogram data in Jupyter notebooks or IPython sessions without launching a separate plotting library.
- Compare multiple distributions side-by-side in terminal output that can be copied and pasted into documentation or logs.
- Analyze ROOT files or boost-histogram objects directly from the command line without writing Python scripts.
- Generate histogram summaries in CI/CD pipelines or batch processing workflows where terminal output is the primary medium.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Histoprint renders NumPy histograms and compatible histogram objects to the terminal using Unicode and color codes, supporting overlay and stacked display modes.
Yes. Histoprint is actively maintained, has no security vulnerabilities, installs with minimal friction, and fills a genuine niche for terminal-based histogram visualization. It is particularly valuable for remote work, server-side data exploration, and reproducible terminal output. The MIT license poses no restrictions. Install it if you regularly work in terminal environments and need quick histogram visualization.
Install
histoprint on PyPI
pip
pip install histoprintuv
uv add histoprintpoetry
poetry add histoprintInstalling histoprint
Before you install
Low friction: pure Python wheel with only three runtime dependencies (click, numpy, uhi). Actively maintained with a release 16 days ago and recent commits.
License in practice
MIT license is permissive; you can use, modify, and distribute histoprint freely in commercial and private projects with minimal restrictions.
Quickstart
pip install histoprint
import numpy as np
from histoprint import print_hist
hist = np.histogram(np.random.randn(1000), bins=15)
print_hist(hist, title="My Histogram")
Requires Python 3.10 or later. Some terminals may not display Unicode combining characters correctly; use symbols parameter to disable them if needed.
Verify before relying
- Whether the package handles very large histograms (millions of bins) without performance degradation.
- Compatibility with non-standard terminal emulators or Windows Terminal variants beyond the documented Unicode limitation.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — click, numpy, uhi |
| Maintenance | actively maintained — 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 389,378/month — #7,030 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: histoprint-2.7.0-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
crayonsCrayons provides colored text output for…
permissive · top 15,000 on PyPI
uhiUHI defines and documents a standard interface…
permissive · top 15,000 on PyPI
histHist provides a user-friendly interface for…
permissive · top 15,000 on PyPI
termplotlibtermplotlib renders line plots, histograms, and…
copyleft · top 15,000 on PyPI
hdrhistogramRecords and analyzes high-precision latency and…
permissive · top 15,000 on PyPI
coloredColored provides ANSI/VT100 escape sequences…
permissive · top 5,000 on PyPI
log-symbolsProvides colored Unicode symbols (✔, ℹ, ⚠, ✖)…
permissive · top 5,000 on PyPI
pprintpppprintpp is a drop-in replacement for Python's…
permissive · top 5,000 on PyPI
structoutFormats and displays graphs and large integer…
copyleft · top 15,000 on PyPI
ansicolorsEmbeds ANSI color and style codes into Python…
permissive · top 5,000 on PyPI