Generate simple tables in terminals from a nested list of strings.
Project description
Easily draw tables in terminal/console applications from a list of lists of strings. Supports multi-line rows.
Python 2.6, 2.7, PyPy, PyPy3, 3.3, 3.4, and 3.5 supported on Linux and OS X.
Python 2.7, 3.3, 3.4, and 3.5 supported on Windows (both 32 and 64 bit versions of Python).
📖 Full documentation: https://robpol86.github.io/terminaltables
Quickstart
Install:
pip install terminaltables
Usage:
from terminaltables import AsciiTable
table_data = [
['Heading1', 'Heading2'],
['row1 column1', 'row1 column2'],
['row2 column1', 'row2 column2'],
['row3 column1', 'row3 column2']
]
table = AsciiTable(table_data)
print table.table
+--------------+--------------+
| Heading1 | Heading2 |
+--------------+--------------+
| row1 column1 | row1 column2 |
| row2 column1 | row2 column2 |
| row3 column1 | row3 column2 |
+--------------+--------------+
Example Implementations
Source code for examples: example1.py, example2.py, and example3.py
Changelog
This project adheres to Semantic Versioning.
3.1.0 - 2016-10-16
- Added
git --porcelain-like table by liiight: https://github.com/Robpol86/terminaltables/pull/31
3.0.0 - 2016-05-30
- Added
Support for https://pypi.python.org/pypi/colorama
Support for https://pypi.python.org/pypi/termcolor
Support for RTL characters (Arabic and Hebrew).
Support for non-string items in table_data like integers.
- Changed
Refactored again, but this time entire project including tests.
- Removed
padded_table_data property and join_row(). Moving away from repeated string joining/splitting.
- Fixed
set_terminal_title() Unicode handling on Windows.
2.1.0 - 2015-11-02
- Added
GitHub Flavored Markdown table by bcho: https://github.com/Robpol86/terminaltables/pull/12
Python 3.5 support (Linux/OS X and Windows).
2.0.0 - 2015-10-11
- Changed
Refactored code. No new features.
Breaking changes: UnixTable/WindowsTable/WindowsTableDouble moved. Use SingleTable/DoubleTable instead.
1.2.1 - 2015-09-03
- Fixed
CJK character width fixed by zqqf16 and bcho: https://github.com/Robpol86/terminaltables/pull/9
1.2.0 - 2015-05-31
- Added
Bottom row separator.
1.1.1 - 2014-11-03
- Fixed
Python 2.7 64-bit terminal width bug on Windows.
1.1.0 - 2014-11-02
- Added
Windows support.
Double-lined table.
1.0.2 - 2014-09-18
- Added
table_width and ok properties.
1.0.1 - 2014-09-12
- Added
Terminal width/height defaults for testing.
terminaltables.DEFAULT_TERMINAL_WIDTH
terminaltables.DEFAULT_TERMINAL_HEIGHT
1.0.0 - 2014-09-11
Initial release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.