Tableprint
Pretty console printing :clipboard: of tabular data in python :snake:
Install / Use
/learn @nirum/TableprintREADME
tableprint
Pretty console printing :clipboard: of tabular data in python :snake:
ℹ︎ About
tableprint lets you easily print formatted tables of data.
Unlike other modules, you can print single rows of data at a time (useful for printing ongoing computation results).

🔎 Table of Contents
💻 Installation
pip install tableprint
🏃 Usage
The table function takes in a matrix of data, a list of headers, a width (defaults to 11) and a style (defaults to 'round'). To print a dataset consisting of 10 rows of 3 different columns with the default width and style:
import tableprint as tp
import numpy as np
data = np.random.randn(10, 3)
headers = ['Column A', 'Column B', 'Column C']
tp.table(data, headers)
The header and row functions allow you to print just the header or just a row of data, respectively, which is useful for continuously updating a table during a long-running computation. Also, the banner function is useful for just printing out a nicely formatted message to the user.
The TableContext context manager is useful for dynamically updating tables (e.g. during a long running computation):
import tableprint as tp
import numpy as np
import time
with tp.TableContext("ABC") as t:
for _ in range(10):
time.sleep(0.1)
t(np.random.randn(3,))
📚 Documentation
Hosted at Read The Docs: tableprint.readthedocs.org
📦 Dependencies
- Python 3.6+
- wcwidth
:heart: Contributors
Thanks to: @nowox, @nicktimko, @mubaris, and @sumanthratna for contributions.
🛠 Changelog
| Version | Release Date | Description | | ------: | :----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 0.9.1 | Aug 9 2020 | Drops python2 support. | | 0.9.0 | May 16 2020 | Adds support for automatically determining the table's width. | | 0.8.0 | Oct 24 2017 | Improves support for international languages, removes numpy dependency | | 0.7.0 | May 26 2017 | Adds a TableContext context manager for easy creation of dynamic tables (tables that update periodically). Adds the ability to pass a list or tuple of widths to specify different widths for different columns | | 0.6.9 | May 25 2017 | Splitting the tableprint.py module into a pacakge with multiple files | | 0.6.7 | May 25 2017 | Fixes some bugs with ANSI escape sequences | | 0.5.0 | Sept 29 2016 | Better handling of ANSI escape sequences in table rows | | 0.4.0 | May 3 2016 | Adds a 'block' style | | 0.3.2 | May 3 2016 | Adds a test suite | | 0.3.0 | May 3 2016 | Adds custom styles for tables, specified by a key ('fancy_grid', 'grid', etc.) | | 0.2.0 | May 2 2016 | Adds better python2 (unicode/bytes) compatibility | | 0.1.5 | Oct 1 2015 | Renamed hrtime to humantime, added docs | | 0.1.4 | Sept 28 2015 | Added human readable string converter (hrtime) | | 0.1.0 | Feb 24 2015 | Initial release |
🔓 License
MIT. See LICENSE.md
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
109.9kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
350.1kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
