Module for converting 2D Python lists to fancy ASCII tables. Table2Ascii lets you display pretty tables in the terminal and on Discord.

Overview

table2ascii

build version license Discord

Module for converting 2D Python lists to a fancy ASCII/Unicode tables

πŸ“₯ Installation

pip install table2ascii

πŸ§‘β€πŸ’» Usage

Convert lists to ASCII tables

from table2ascii import table2ascii

output = table2ascii(
    header=["#", "G", "H", "R", "S"],
    body=[["1", "30", "40", "35", "30"], ["2", "30", "40", "35", "30"]],
    footer=["SUM", "130", "140", "135", "130"],
)

print(output)

"""
╔═════════════════════════════╗
β•‘  #     G     H     R     S  β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘  1    30    40    35    30  β•‘
β•‘  2    30    40    35    30  β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ SUM   130   140   135   130 β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
"""

Set first or last column headings

from table2ascii import table2ascii

output = table2ascii(
    body=[["Assignment", "30", "40", "35", "30"], ["Bonus", "10", "20", "5", "10"]],
    first_col_heading=True,
)

print(output)

"""
╔════════════╦═══════════════════╗
β•‘ Assignment β•‘ 30   40   35   30 β•‘
β•‘    Bonus   β•‘ 10   20    5   10 β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•©β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
"""

Set column widths and alignments

from table2ascii import table2ascii, Alignment

output = table2ascii(
    header=["#", "G", "H", "R", "S"],
    body=[["1", "30", "40", "35", "30"], ["2", "30", "40", "35", "30"]],
    first_col_heading=True,
    column_widths=[5] * 5,  # [5, 5, 5, 5, 5]
    alignments=[Alignment.LEFT] + [Alignment.RIGHT] * 4, # First is left, remaining 4 are right
)

print(output)

"""
╔═════╦═══════════════════════╗
β•‘ #   β•‘   G     H     R     S β•‘
β•Ÿβ”€β”€β”€β”€β”€β•«β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ 1   β•‘  30    40    35    30 β•‘
β•‘ 2   β•‘  30    40    35    30 β•‘
β•šβ•β•β•β•β•β•©β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
"""

Use a preset style

from table2ascii import table2ascii, PresetStyle

output = table2ascii(
    header=["First", "Second", "Third", "Fourth"],
    body=[["10", "30", "40", "35"], ["20", "10", "20", "5"]],
    column_widths=[10] * 4,
    style=PresetStyle.ascii_box
)

print(output)

"""
+----------+----------+----------+----------+
|  First   |  Second  |  Third   |  Fourth  |
+----------+----------+----------+----------+
|    10    |    30    |    40    |    35    |
+----------+----------+----------+----------+
|    20    |    10    |    20    |    5     |
+----------+----------+----------+----------+
"""

Define a custom style

Check TableStyle for more info and PresetStyle for examples.

from table2ascii import table2ascii, TableStyle

my_style = TableStyle.from_string("*-..*||:+-+:+     *''*")

output = table2ascii(
    header=["First", "Second", "Third"],
    body=[["10", "30", "40"], ["20", "10", "20"], ["30", "20", "30"]],
    style=my_style
)

print(output)

"""
*-------.--------.-------*
| First : Second : Third |
+-------:--------:-------+
|  10   :   30   :  40   |
|  20   :   10   :  20   |
|  30   :   20   :  30   |
*-------'--------'-------*
"""

🎨 Preset styles

See a list of all preset styles here.

βš™οΈ Options

All parameters are optional.

Soon table2ascii will support more options for customization.

Option Type Default Description
header List[str] None First row of table seperated by header row seperator
body List[List[str]] None List of rows for the main section of the table
footer List[str] None Last row of table seperated by header row seperator
column_widths List[int] automatic List of column widths in characters for each column
alignments List[int] all centered Alignments for each column
(ex. [Alignment.LEFT, Alignment.CENTER, Alignment.RIGHT])
first_col_heading bool False Whether to add a heading column seperator after the first column
last_col_heading bool False Whether to add a heading column seperator before the last column

πŸ‘¨β€πŸŽ¨ Use cases

Discord messages and embeds

  • Display tables nicely inside markdown codeblocks on Discord
  • Useful for making Discord bots with Discord.py

image

Terminal outputs

  • Tables display nicely whenever monospace fonts are fully supported
  • Tables make terminal outputs look more professional

image

🧰 Development

To run tests (pytest)

python setup.py test

To lint (flake8):

python setup.py lint

Comments
  • Different languages cause layout changes.

    Different languages cause layout changes.

    There will be a layout offset problem when using different languages ​​for output.

    Issues

    The complete code is as follows.

    from table2ascii import table2ascii as t2a
    from table2ascii import PresetStyle
    from table2ascii import Alignment
    
    output = t2a(
        header=["ζ—₯期", "test"],
        body=[["2022/12/11", "test"], ["2022/1/1", "測試"]],
        cell_padding=5,
        style=PresetStyle.double_thin_compact,
        alignments=[Alignment.CENTER] * 2
    )
    
    print(output)
    

    Is there any solution?

    enhancement 
    opened by Neillife 10
  • ci: Added git auto commit to workflow

    ci: Added git auto commit to workflow

    Hi @DenverCoder1, In this PR I have updated the workflow script to update the docs automatically during the run after pushing the changes as per the mentioned issue 21.

    documentation 
    opened by sairamkiran9 6
  • [feature Request] Support for row with less columns

    [feature Request] Support for row with less columns

    if first row has 3 all rows have to have 3 columns. Is it possible to add a new row with 2 columns? currently not. in future? image

    Here the last row, has two columns: Description and i edited the text to show.

    enhancement 
    opened by ashroyxi 5
  • fix: make dependencies and other build arguments static

    fix: make dependencies and other build arguments static

    I tried to install version 1.0.3 with pip and it doesn't install the dependencies. Figured out that requirements.txt is not included in the source distribution, hence giving the install_requires an empty array. I assume this doesn't happen on 1.0.1 because it has a wheel file.

    So, I thought that making the dependencies explicit is better.

    References: same issue with wheel

    bug 
    opened by ohjunseung 4
  • Emojis don't affect the width of columns

    Emojis don't affect the width of columns

    If a unicode emoji is part of the longest text in a column, the width of the column will not account for its existence.

    Example: outputBoss = t2a( header=["","Crocodile 🐊"], body=[["HP","100/100"], ["Atk","10"], ["Def","8"]], first_col_heading=True )

    Output: https://i.imgur.com/kacEMc6.png

    opened by sacooke 3
  • chore(deps-dev): bump tox from 3.24.5 to 4.0.8

    chore(deps-dev): bump tox from 3.24.5 to 4.0.8

    Bumps tox from 3.24.5 to 4.0.8.

    Release notes

    Sourced from tox's releases.

    4.0.8

    What's Changed

    Full Changelog: https://github.com/tox-dev/tox/compare/4.0.7...4.0.8

    4.0.7

    What's Changed

    Full Changelog: https://github.com/tox-dev/tox/compare/4.0.6...4.0.7

    4.0.6

    What's Changed

    New Contributors

    Full Changelog: https://github.com/tox-dev/tox/compare/4.0.5...4.0.6

    4.0.5

    What's Changed

    Full Changelog: https://github.com/tox-dev/tox/compare/4.0.4...4.0.5

    4.0.4

    What's Changed

    New Contributors

    Full Changelog: https://github.com/tox-dev/tox/compare/4.0.3...4.0.4

    4.0.3

    What's Changed

    ... (truncated)

    Changelog

    Sourced from tox's changelog.

    v4.0.8 (2022-12-11)

    Bugfixes - 4.0.8

    - Fix multiple substitution on factor filtering in ``tox.ini`` when multiple factor filters match
      - by :user:`gaborbernat`. (:issue:`2650`)
    - Fix regression in ``requirements.txt`` parsing - by :user:`gaborbernat`. (:issue:`2682`)
    

    v4.0.7 (2022-12-11)

    Bugfixes - 4.0.7

    • Support for --no-deps flag within the :ref:deps - by :user:gaborbernat. (:issue:2674)

    v4.0.6 (2022-12-10)

    Features - 4.0.6

    - Fail on :ref:`pass_env`/:ref:`passenv` entries containing whitespace - by :user:`ericzolf`. (:issue:`2658`)
    

    v4.0.5 (2022-12-09)

    Bugfixes - 4.0.5

    • Normalize extra names passed in (fixes extra groups not being picked up during installation) - by :user:gaborbernat. (:issue:2655)

    v4.0.4 (2022-12-09)

    Bugfixes - 4.0.4

    - Disable logging from ``distlib.util`` and ``filelock`` as these log messages are too verbose - by :user:`gaborbernat`. (:issue:`2655`)
    - Use ``!r`` and ``repr()`` to better display erroneous values in exception from ``StrConverter.to_bool()`` - by :user:`ptmcg`. (:issue:`2665`)
    

    Improved Documentation - 4.0.4

    • Document that running --showconfig or --help-ini with the -v flag will add interleaved debugging information, whereas tox v3 added extra lines at the start - by :user:jugmac00. (:issue:2622)
    • Document that tox v4 errors when using -U when defining dependencies via deps - by :user:jugmac00. (:issue:2631)

    v4.0.3 (2022-12-08)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps-dev): update flake8 requirement from <4,>=3.8 to >=3.8,<7

    chore(deps-dev): update flake8 requirement from <4,>=3.8 to >=3.8,<7

    Updates the requirements on flake8 to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps-dev): bump taskipy from 1.10.1 to 1.10.3

    chore(deps-dev): bump taskipy from 1.10.1 to 1.10.3

    Bumps taskipy from 1.10.1 to 1.10.3.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Error on non-`len` compatible values in a cell

    Error on non-`len` compatible values in a cell

    Description On creating a table with a cell that's not compatible with the builtin len function, the library errors internally

    Expected Values are turned into strings before their length is checked

    Actual Values are evaluated for their length without first turning them into a string

    bug 
    opened by EthanZeigler 1
  • Support for newlines within cells

    Support for newlines within cells

    Ask Support newline characters within cells of a table

    Expected

    | header | header | header |
    |---------|---------|---------|
    | Cell      | cell       | multi    |
    |             |             | cell       |
    

    Actual

    | header | header | header |
    |---------|---------|---------|
    | Cell      | cell       | multi
    cell |
    
    enhancement 
    opened by EthanZeigler 1
  • docs: Fix unlinked references and updated docstrings

    docs: Fix unlinked references and updated docstrings

    • All exceptions, warnings, and SupportsStr are now importable directly through the table2ascii module
    • All class and data references in the docs were fixed to link to the proper documentation
    • Changed TableStyle.set() example to one that will not throw an exception
    documentation 
    opened by DenverCoder1 0
Releases(v1.1.0)
  • v1.1.0(Dec 29, 2022)

    Features

    • Added Alignment.DECIMAL for aligning numbers to a decimal point in https://github.com/DenverCoder1/table2ascii/pull/90
    • Added ability to align all columns with a single Alignment instead of a list in https://github.com/DenverCoder1/table2ascii/pull/91
    • Support for aligning numbers separately from other strings by passing number_alignments to table2ascii in https://github.com/DenverCoder1/table2ascii/pull/92

    Meta

    • Moved version number to pyproject.toml in https://github.com/DenverCoder1/table2ascii/pull/87

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/v1.0.4...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.4(Dec 19, 2022)

    Bug Fixes

    • Made dependencies and other build arguments static by @ohjunseung in https://github.com/DenverCoder1/table2ascii/pull/86

    New Contributors

    • @ohjunseung made their first contribution in https://github.com/DenverCoder1/table2ascii/pull/86

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/v1.0.3...v1.0.4

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Dec 19, 2022)

    Bug Fixes

    • Fix setup error occurring when installing on Windows by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/85

    Meta

    • Added CI step for testing the project on Windows by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/85

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/v1.0.2...v1.0.3

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Dec 18, 2022)

    What's Changed

    • Added invalid column width error for negative column widths by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/83

    Meta

    • docs(readme): fixed action build badge by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/81
    • docs: Updated build status badge by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/84
    • ci: Updated publish script to use build module by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/82

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/1.0.1...v1.0.2

    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Dec 14, 2022)

    What's Changed

    • Resolved pyproject and setup.py conflicts by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/80

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/1.0.0...1.0.1

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Dec 14, 2022)

    Features

    • Added use_wcwidth for wide and fullwidth character support by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/63
    • Added the ability to merge cells with Merge.LEFT by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/67
    • Alignment is now an IntEnum so numbers 0-2 can be passed to alignments by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/75
    • Added custom exception classes by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/74
    • Added PresetStyles.double_thin_box style (this is the style used in the TableStyle docs) by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/67

    Breaking Changes

    • The library now uses wcwidth for determining the length of a cell instead of len().
      • The wcswidth() function takes into account double-width characters (East Asian Wide and East Asian Fullwidth) and zero-width characters (combining characters, zero-width space, etc.), whereas len() determines the width solely based on the number of characters in the string.
      • In most cases, this will not affect the output of table2ascii.
      • To revert to using len() instead of wcswidth() pass use_wcwidth=False to table2ascii.
      • Note: The width of East Asian Wide and East Asian Fullwidth characters is up to the platform and font used. If the font used to display the wide characters does not make them take up exactly 2 character width, it may still not display correctly.
    • table2ascii.options.Options has a new option use_wcwidth. All options are required when manually creating an Options object.
    • Eight new fields have been added to TableStyle. If you are manually creating a TableStyle object, you can now provide symbols for the edges of merged table cells. This is not a mandatory change, but a warning will be printed if you do not provide these fields.

    Meta

    • New annotation style from Python 3.9+ (backwards compatible) by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/61
    • Only installs typing_extensions if not using Python 3.8+ by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/61
    • Refactored comment style and reduced nesting complexity by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/65
    • table2ascii now accepts all Sequence compatible objects instead of only list by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/78
    • Use sphinx-book-theme for docs by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/79

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/0.5.0...1.0.0

    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Oct 31, 2022)

    Features

    • Added plain to preset table styles in https://github.com/DenverCoder1/table2ascii/pull/50
    >>> table2ascii(header=[1,2,3,4], body=[[5,6,7,8], [9,10,11,12]], style=PresetStyle.plain)
     1   2    3    4  
     5   6    7    8  
     9   10   11   12
    
    • Added cell_padding configurable option in https://github.com/DenverCoder1/table2ascii/pull/52
    >>> table2ascii(header=['A','B','C'], body=[[1,2,3]], footer=[5,6,7], first_col_heading=True, cell_padding=0)
    ╔═╦═══╗
    β•‘Aβ•‘B Cβ•‘
    β•Ÿβ”€β•«β”€β”€β”€β•’
    β•‘1β•‘2 3β•‘
    β•Ÿβ”€β•«β”€β”€β”€β•’
    β•‘5β•‘6 7β•‘
    β•šβ•β•©β•β•β•β•
    

    Meta

    • refactor: Support for mypy linting in https://github.com/DenverCoder1/table2ascii/pull/51
    • ci: Add support for Python 3.11 (Pyright linting) in https://github.com/DenverCoder1/table2ascii/pull/56

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/0.4.0...0.5.0

    Source code(tar.gz)
    Source code(zip)
  • 0.4.0(Oct 9, 2022)

    Features

    • Added ascii_rounded and ascii_rounded_box table styles by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/45

    Typing and Documentation

    • Uses more_autodoc.typehints for docs and links for built-in types by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/42
    • Annotate table value type with SupportsStr protocol by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/44

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/0.3.0...0.4.0

    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Jun 26, 2022)

    Features

    • Support for auto-sizing specific columns using None by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/38

    Meta

    • Use explicit kwargs over **options, type fixes by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/35
    • Meta og descriptions for docs links by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/33
    • Add pre-commit hooks and pyright checks by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/36
    • Add Pyright checks to tests, add contributing docs by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/37
    • Add docs link, license, and keywords to Pypi setup by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/34

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/0.2.0...0.3.0

    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Feb 11, 2022)

    Features

    • Support for multiline cells by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/30

    New Contributors

    • @sairamkiran9 made their first contribution in https://github.com/DenverCoder1/table2ascii/pull/27

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/v0.1.4...0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.4(Oct 14, 2021)

    Bug Fixes

    • allow integers and other stringifiable objects in tables by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/23

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/v0.1.3...v0.1.4

    Source code(tar.gz)
    Source code(zip)
  • v0.1.3(Oct 13, 2021)

    What's Changed

    • ci: update test command by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/15, https://github.com/DenverCoder1/table2ascii/pull/16
    • Fix preset styles link by @strugee in https://github.com/DenverCoder1/table2ascii/pull/17
    • Added docs with readthedocs and minor type annotation changes by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/18
    • docs: Change code block background color in dark mode by @DenverCoder1 in https://github.com/DenverCoder1/table2ascii/pull/19

    New Contributors

    • @strugee made their first contribution in https://github.com/DenverCoder1/table2ascii/pull/17

    Full Changelog: https://github.com/DenverCoder1/table2ascii/compare/v0.1.2...v0.1.3

    Source code(tar.gz)
    Source code(zip)
  • v0.1.2(Aug 1, 2021)

  • v0.1.1(Apr 29, 2021)

    • Split file structure into multiple parts
    • Added TableStyle class for storing info about a theme (all the different parts that make up the table)
    • Added PresetStyle class with pre-made styles to choose from
    • Made a list of styles in /style_list and a script for generating the list
    • Ensure that user-specified column widths are at least as large as cell contents
    • Made header, body, and footer positional arguments (can place with no label); all other options must be keyworded.
    Source code(tar.gz)
    Source code(zip)
  • v0.0.3(Apr 27, 2021)

  • 0.0.2(Apr 27, 2021)

    Added options:

    | Option | Type | Default | Description | | :-----------------: | :----: | :-----: | :--------------------------------------------------------------: | | first_col_heading | bool | False | Whether to add a heading column seperator after the first column | | last_col_heading | bool | False | Whether to add a heading column seperator before the last column |

    Source code(tar.gz)
    Source code(zip)
Owner
Jonah Lawrence
πŸ“Ί https://youtube.com/DevProTips πŸ’» Full Stack Dev 🎨 UI designer πŸŽ“ Computer Science 2021 πŸ“š Always learning!
Jonah Lawrence
Lets you view, edit and execute Jupyter Notebooks in the terminal.

Lets you view, edit and execute Jupyter Notebooks in the terminal.

David Brochart 684 Dec 28, 2022
Generate your name in Ascii modular type art through the terminal

ASCII Name Generator Designed and developed by Eduardo Aire The ASCII Art Name Generator is a simple program that helps you to have a practical Shell/

Eduardo Aire 1 Nov 17, 2021
A Python module and command-line utility for converting .ANS format ANSI art to HTML

ansipants A Python module and command-line utility for converting .ANS format ANSI art to HTML. Installation pip install ansipants Command-line usage

null 4 Oct 16, 2022
Simple Python Library to display text with color in Python Terminal

pyTextColor v1.0 Introduction pyTextColor is a simple Python Library to display colorful outputs in Terminal, etc. Note: Your Terminal or any software

Siddhesh Chavan 1 Jan 23, 2022
Display Images in your terminal with python

A python library to display images in the terminal

Pranav Baburaj 57 Dec 30, 2022
Display Images in your terminal with python

Term-Img Display Images in your terminal with python NOTE: This project is a work in progress and not everything on here has actually been implemented

My avatar ;D 118 Jan 5, 2023
TerminalGV is a very simple client to display stats about your SNCF TGV/TER train in your terminal.

TerminalGV So I got bored in the train, TerminalGV is a very simple client to display stats about your SNCF TGV/TER train in your terminal. The "on-tr

Samuel 8 Dec 15, 2022
Gamestonk Terminal is an awesome stock and crypto market terminal

Gamestonk Terminal is an awesome stock and crypto market terminal. A FOSS alternative to Bloomberg Terminal.

Gamestonk Terminal 18.6k Jan 3, 2023
A python CLI app that converts a mp4 file into a gif with ASCII effect added.

Video2ASCIIgif This CLI app takes in a mp4 format video, converts it to a gif with ASCII effect applied. This also includes full control over: backgro

Sriram R 6 Dec 31, 2021
A Neat Application To Manage Your To-Do Lists.

WTD - What To Do? A Neat Application To Manage Your To-Do Lists. One folder can only have one to-do file. Running wth without any subcommands executes

Adam Vajda 1 Oct 24, 2021
telescope.nvim is a highly extendable fuzzy finder over lists.

telescope.nvim is a highly extendable fuzzy finder over lists. Built on the latest awesome features from neovim core. Telescope is centered around modularity, allowing for easy customization.

nvim-telescope 8.4k Jan 5, 2023
Create animated ASCII-art for the command line almost instantly!

clippy Create and play colored ?? ?? ?? or colorless ⬛️ ⬜️ animated, or static, ASCII-art in the command line! clippy can help if you are wanting to;

Connor 10 Jun 26, 2022
Generate an ASCII Art from keyword put in the cli

ascii-art-generator-cli Generate an ASCII Art from keyword put in the cli Install git clone https://github.com/Nathanlauga/ascii-art-generator-cli cd

Nathan Lauga 1 Nov 14, 2021
A 3D engine powered by ASCII art

3D engine powered by ASCII art

Lingdong Huang 48 Nov 16, 2022
Open-Source Python CLI package for copying DynamoDB tables and items in parallel batch processing + query natural & Global Secondary Indexes (GSIs)

Python Command-Line Interface Package to copy Dynamodb data in parallel batch processing + query natural & Global Secondary Indexes (GSIs).

null 1 Oct 31, 2021
3DigitDev 29 Jan 17, 2022
Albert launcher extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecular substance, and more

unit-converter-albert-ext Extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecu

Jonah Lawrence 2 Jan 13, 2022
Set of scripts & tools for converting between numbers and major system encoded words.

major-system-converter Set of scripts & tools for converting between numbers and major system encoded words. Uses phonetics instead of letters to conv

null 4 Aug 9, 2022
lazy_table - a python-tabulate wrapper for producing tables from generators

A python-tabulate wrapper for producing tables from generators. Motivation lazy_table is useful when (i) each row of your table is generated by a poss

Parsiad Azimzadeh 52 Nov 12, 2022