termplotlib
Python plotting for the command line
What it is and what it does
termplotlib is a Python library that generates plots and charts as text-based visualizations for display in the terminal. It provides a matplotlib-like interface with support for line plots (via gnuplot), histograms, and horizontal bar charts, rendering them using ASCII or Unicode box-drawing characters. The library depends only on numpy for numerical operations.
The package is in Beta status and has been abandoned since late 2021, with no updates or maintenance since then. While it remains functional for basic terminal plotting tasks, it receives no bug fixes, security updates, or feature development. Users should be aware that compatibility with newer Python versions or changes in terminal environments is not guaranteed.
Use it for:
- Quick data visualization in SSH sessions or remote servers where graphical displays are unavailable
- Embedding plots in terminal-based dashboards or monitoring tools that run in the console
- Generating simple histograms and bar charts for log analysis or data summaries in scripts
- Educational demonstrations of plotting concepts without requiring a full graphical environment
- Prototyping visualizations in notebooks or REPL sessions before moving to a full plotting library
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
termplotlib renders line plots, histograms, and bar charts directly in the terminal using ASCII or Unicode characters, with a matplotlib-like API.
Yes, if you need lightweight terminal plotting for one-off analysis or educational purposes and can accept the copyleft license. No, if you require active maintenance, security updates, or plan to use this in production or proprietary code—the package is abandoned and GPL-licensed, making it unsuitable for closed-source projects.
Install
termplotlib on PyPI
pip
pip install termplotlibuv
uv add termplotlibpoetry
poetry add termplotlibInstalling termplotlib
Before you install
Low install friction with a single runtime dependency (numpy). However, the package is abandoned—last commit was 2021-12-09 and no releases since 2021-09-23. Line plots require gnuplot to be installed separately on your system.
License in practice
Licensed under GPL-3.0-or-later (copyleft). Any derivative work or distribution must also be licensed under GPL-3.0 or a compatible later version; proprietary or closed-source projects cannot use this package without separate licensing.
Quickstart
pip install termplotlib
import termplotlib as tpl
import numpy as np
x = np.linspace(0, 2 * np.pi, 10)
y = np.sin(x)
fig = tpl.figure()
fig.plot(x, y, label="data", width=50, height=15)
fig.show()
gnuplot must be installed on your system for line plots to work
Verify before relying
- Whether gnuplot must be pre-installed on the system or if termplotlib can install it as a dependency
- Current compatibility with Python versions beyond 3.10 given the package's abandoned status
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | abandoned — 1,786 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 78,736/month — #14,412 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: termplotlib-0.3.9-py3-none-any.whl
Keywords: graphics, plotting, terminal, ascii, matplotlib
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
plotillePlotille renders plots, scatter plots,…
permissive · top 15,000 on PyPI
plotextRenders plots directly in the terminal using…
permissive · top 5,000 on PyPI
asciichartpyRenders line charts as ASCII art in the console…
permissive · top 15,000 on PyPI
histoprintHistoprint renders NumPy histograms and…
permissive · top 15,000 on PyPI
textual-plotextWraps the Plotext plotting library as a Textual…
permissive · top 15,000 on PyPI
adjustTextAutomatically repositions text labels on…
permissive · top 5,000 on PyPI
imgcatDisplays images in iTerm2, WezTerm, and tmux by…
permissive · top 15,000 on PyPI
sparklinesSparklines renders compact Unicode bar charts…
permissive · top 5,000 on PyPI
terminaltablesRenders formatted ASCII tables in terminal…
permissive · top 5,000 on PyPI