Skip to main content

A class for drawing table in text console for python in windows or linux

Project description

TextTable

TextTable is a lightweight Python module that helps developers draw well-formatted tables in the console using ASCII or Unicode box-drawing characters.

It is designed for command-line applications where clear tabular output and optional pagination are required.


Features

  • Draw tables using ASCII or Unicode borders
  • Support for single-line, double-line, and dashed table styles
  • Automatic column width calculation
  • Left, right, and center text alignment
  • Pagination support for large datasets
  • Cross-platform (Windows, Linux, macOS)

Installation

pip install pytexttable

Basic Usage

from TextTable import TextTable,Alignment
#type could be - or = or + to show table with different line style
t = TextTable(ttype='=', page_size=10)
t.set_columns(['Column 1', 'Column 2', 'Column 3'])
t.head_align = [Alignment.center,Alignment.left,Alignment.right]
t.cell_align = [Alignment.left,Alignment.center,Alignment.right]
t.add_row(['Data 1', 'Data 2', 'Data 3'])
t.add_row(['More', 'Sample', 'Values'])
#Setting columns width(charachter counts) is optional since TextTable compute column width based on the length of data and column name
t.columnsw = [30,20,15]
print(t)
output:
╔══════════════════════════════╦════════════════════╦═══════════════╗
║           Column 1           ║Column 2            ║       Column 3║
╠══════════════════════════════╬════════════════════╬═══════════════╣
║Data 1                        ║       Data 2       ║         Data 3║
║More                          ║       Sample       ║         Values║
╚══════════════════════════════╩════════════════════╩═══════════════╝

Pagination Example

from TextTable import TextTable
t = TextTable(ttype='-', page_size=5)
t.set_columns(['ID', 'Name', 'Value'])
for i in range(20):
    t.add_row([str(i), f'Item {i}', str(i * 10)])
t.print_with_pagination()
output:
┌──┬───────┬─────┐
│ID│Name   │Value│
├──┼───────┼─────┤
│10│Item 10│100  │
│11│Item 11│110  │
│12│Item 12│120  │
│13│Item 13│130  │
│14│Item 14│140  │
└──┴───────┴─────┘

Use keyboard input to navigate:

1 or right/up arrow → Next page

2 or left/down arrow → Previous page

0 / Enter → Exit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytexttable-0.1.6.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytexttable-0.1.6-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file pytexttable-0.1.6.tar.gz.

File metadata

  • Download URL: pytexttable-0.1.6.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pytexttable-0.1.6.tar.gz
Algorithm Hash digest
SHA256 004fe99b186d00623537bb2009e3a9ac62eb0169a648aeaec1e4bf4aa8ff81eb
MD5 0f27ddbd995cd6c37f0d74ba4859c554
BLAKE2b-256 ed370cc302541945a393e75c76065c9b53b264a219b5de5e618ae3ec8aecb3d6

See more details on using hashes here.

File details

Details for the file pytexttable-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: pytexttable-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pytexttable-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2a2e6a2b19195ebd5560afbcf01960d30a9338e17ec3d70c3d5f7d1397d58265
MD5 f59eb659f819b2dc6b72fca73e1feef0
BLAKE2b-256 bfec253373e2a6347b521a831086f65111fb654f619112d644342d526bae6058

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page