Skip to main content

module for creating simple colorful formatted ASCII tables

Project description

blessedtable

Python module for creating colorful formatted ASCII tables.

Dependencies

This package combines the texttable and the blessed package; and thus, blessedtable.

Installing the package

pip install blessedtable

Getting started

Inializing the table with default parameters will print the a table without any formatting. To know more about structuring the ascii table follow this link

from blessedtable import Blessedtable

table = Blessedtable()
table.set_deco(15)
table.set_cols_align(["l", "r", "c"])
table.set_cols_valign(["t", "m", "b"])
table.add_rows([["Name", "Age", "Nickname"],
    ["Mr\nXavier\nHuon", 32, "Xav'"],
    ["Mr\nBaptiste\nClement", 1, "Baby"],
    ["Mme\nLouise\nBourgeau", 28, "Lou\n\nLoue"]])

print(table.draw())

For styleing blessedtable uses three parameters over textable. These are border_format, header_format, and column_format.

border_format needs to be either None , or of type str header_format needs to be either None, or of type str, or a list of strings column_format needs to be either None, or of type str, or a list of strings

Note: The strings should be formatting strings. Examples are given below.

'normal_on_norma' # text and background both have default color
'red' # text color is red, background has default color
'red_on_white' # text color is red, background is white
'italic_red_on_blue' # text italic and red, and background is white

All the color options can be found here. To know more about blessed's formatting, follow this link

The three parameters can be set either while initializing or using setters.

table = Blessedtable(header_format='green_on_blue', border_format='blue', column_format='blue_on_rosybrown2')
#or
table = Blessedtable()
table.set_deco(15)
table.set_cols_align(["l", "r", "c"])
table.set_cols_valign(["t", "m", "b"])
table.add_rows([["Name", "Age", "Nickname"],
    ["Mr\nXavier\nHuon", 32, "Xav'"],
    ["Mr\nBaptiste\nClement", 1, "Baby"],
    ["Mme\nLouise\nBourgeau", 28, "Lou\n\nLoue"]])
table.header_format = 'green_on_blue'
table.border_format = 'blue'
table.column_format = 'blue_on_rosybrown2'

print(table.draw())

To achieve different colors for the columns for both header and the rows, pass a list having format string for each of the columns.

Note: The number of elements in the list should be equal to the number of columns in a row; each element (format string) correspomds to successive columns. If header_format is None then it inherits the column_format and vice versa. If you don't want it to inherit the styles, set the header_format or column_format to "normal_on_normal"

hf = ['green', 'italic_blue', 'purple']
cf = ['white_on_green', 'italic_orange_on_blue', 'teal']
table.header_format = hf
table.border_format = 'yellow'
table.column_format = cf

print(table.draw())

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

blessedtable-1.0.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

blessedtable-1.0.0-py2.py3-none-any.whl (5.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file blessedtable-1.0.0.tar.gz.

File metadata

  • Download URL: blessedtable-1.0.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.9

File hashes

Hashes for blessedtable-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fe17ae42b08fe25f7fe3155246a40335f2190a4a0ce342001b53b4deeae6bbb9
MD5 2c98238f1b4c724ad4fa8d5cea3f9e09
BLAKE2b-256 31769461f482f73ab156f2482a389af79ae011ea5402419e48c087d7039f3958

See more details on using hashes here.

File details

Details for the file blessedtable-1.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: blessedtable-1.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.9

File hashes

Hashes for blessedtable-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cdab56820dddc5349124d0a1d2e301a5be397cf935c174a8f5de725918fa67b5
MD5 b9c3f8af3247d9ed69740235ae4525d8
BLAKE2b-256 899b20765395596bc94b84522834796ca9707c6342340a6a5fea3f8f3ebe2500

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