Pretty console printing πŸ“‹ of tabular data in python 🐍
Python Makefile
Switch branches/tags
Clone or download
Latest commit 2a9e4af Jul 2, 2018


Pretty console printing πŸ“‹ of tabular data in python 🐍

Build Status Coverage Status Documentation Status PyPi version

β„ΉοΈŽ 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).

Example output

πŸ”Ž 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):

πŸ“š Documentation

Hosted at Read The Docs:

πŸ“¦ Dependencies

❀️ Contributors

Thanks to: @nowox, @nicktimko, and @mubaris for contributions.

πŸ›  Changelog

Version Release Date Description
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 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