structout
pretty print data structures
What it is and what it does
StructOut is a terminal-based pretty-printer for graphs and large integer lists. It renders graphs as ASCII art with optional node coloring, edge labels, and zoom-to-subgraph capability, and formats number lists with configurable binning and chunking strategies. The package has no runtime dependencies and is designed as a utility for developers who need readable terminal output of complex data structures during development or analysis.
The package includes specialized rendering for RNA structures and heatmaps. It's actively maintained, supports Python >=3.8, and carries a GPLv3 copyleft license.
Use it for:
- Debug graph algorithms by printing intermediate graph states with node coloring to highlight specific subsets.
- Explore datasets by rendering heatmaps in the terminal with configurable dimensions and operators.
- Visualize RNA secondary structures using the specialized RNAprint formatter during analysis.
- Format and display large integer ranges or statistical summaries in the terminal with logarithmic or evenly-spaced binning.
- Zoom into subgraphs during interactive exploration by specifying focal nodes and maximum distance.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Formats and displays graphs and large integer lists as readable terminal output with customizable layout, coloring, and zoom options.
Yes, if you work with graphs or large number lists in terminal environments and accept the GPLv3 copyleft constraint. The package is actively maintained, has no runtime dependencies, and fills a specific niche for ASCII-art data visualization. Not suitable for proprietary projects due to copyleft licensing.
Install
structout on PyPI
pip
pip install structoutuv
uv add structoutpoetry
poetry add structoutInstalling structout
Before you install
High install friction with no runtime dependencies. The package is actively maintained (last commit 2026-06-18) and supports current Python versions, but the single tarball distribution and lack of wheels may slow installation.
License in practice
GPLv3 copyleft license means any derivative work or software that links this package must also be released under GPLv3. This is a significant constraint for proprietary or differently-licensed projects.
Quickstart
pip install structout
import structout as so
so.lprint(range(1000), length=70)
so.gprint(graph)
Requires Python >=3.8.
Verify before relying
- Whether the package works correctly with modern graph library versions and what the minimum/maximum supported versions are.
- Performance characteristics when rendering very large graphs or lists (memory usage, rendering time).
- Whether the heatmap function requires NumPy as an optional dependency despite not being listed in runtime deps.
- What graph library or format the gprint function accepts as input.
Package facts
| License | GPLv3 (copyleft) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | actively maintained — 187 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 83,871/month — #14,044 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: structout-0.1.63.tar.gz
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
graphttyRenders directed graphs as colored ASCII art in…
permissive · top 15,000 on PyPI
simple-colorsAdds colored and styled text output to terminal…
unclear · top 15,000 on PyPI
ansicolorsEmbeds ANSI color and style codes into Python…
permissive · top 5,000 on PyPI
pastelPastel adds colored text output to terminal…
permissive · top 5,000 on PyPI
histoprintHistoprint renders NumPy histograms and…
permissive · top 15,000 on PyPI
asciidagRenders directed acyclic graphs as ASCII art in…
copyleft · top 15,000 on PyPI
hexorApplies colored text and background styling to…
permissive · top 15,000 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
pygraphvizPyGraphviz provides a Python interface to…
permissive · top 5,000 on PyPI
crayonsCrayons provides colored text output for…
permissive · top 15,000 on PyPI