Files
tableprint/README.md
2017-10-24 02:03:39 -07:00

81 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# tableprint
Pretty console printing :clipboard: of tabular data in python :snake:
[![Build Status](https://travis-ci.org/nirum/tableprint.svg?branch=master)](https://travis-ci.org/nirum/tableprint)
[![Coverage Status](https://codecov.io/gh/nirum/tableprint/branch/master/graph/badge.svg)](https://codecov.io/gh/nirum/tableprint)
[![Documentation Status](https://readthedocs.org/projects/tableprint/badge/?version=latest)](https://tableprint.readthedocs.io/?badge=latest)
[![PyPi version](https://img.shields.io/pypi/v/tableprint.svg)](https://pypi.python.org/pypi/tableprint)
## 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](https://raw.githubusercontent.com/nirum/tableprint/master/example.png)
## 🔎 Table of Contents
* [About](#about)
* [Installation](#installation)
* [Usage](#usage)
* [Documentation](#documentation)
* [Dependencies](#dependencies)
* [Version](#version)
* [License](#license)
## 💻 Installation
```bash
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:
```python
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):
```python
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](http://tableprint.readthedocs.org)
## 📦 Dependencies
- Python 3.6, 3.5, 3.4, or 2.7
- `numpy`
- `six`
## 🛠 Changelog
| Version | Release Date | Description |
| ---: | :---: | :--- |
| 0.8.0 | Oct 24 2017 | Improves support for international languages
| 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`