• Stars
    star
    168
  • Rank 225,507 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Pretty console printing 📋 of tabular data in python 🐍

tableprint

Pretty console printing 📋 of tabular data in python 🐍

build codecov docs pypi

ℹī¸Ž 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):
        time.sleep(0.1)
        t(np.random.randn(3,))

📚 Documentation

Hosted at Read The Docs: tableprint.readthedocs.org

đŸ“Ļ Dependencies

❤ī¸ 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