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
A simple command line virtual operating system, written in python

Virtual operating system A simple virtual operating system written in python. (Under development). Currently, the following commands are supported: Co

B.Jothin kumar 7 Nov 15, 2022
command line tool for frequent nmigen tasks (generate sources, show design)

nmigen-tool command line tool for frequent nmigen tasks (generate sources, show design) Usage: generate verilog: nmigen generate verilog nmigen_librar

Hans Baier 8 Nov 27, 2022
PyWordle: A Python-made wordle manual solver

PyWordle: A Python-made wordle manual solver How to use it Start the program with python3 pywordlesolver.py. How it works The program has a simple 5-l

Federico Torrielli 5 Nov 24, 2022
A begginer reverse shell tool python.

A begginer reverse shell tool python. Este programa Γ© para apenas estudo e conhecimento. NΓ£o use isso em outra pessoas. NΓ£o me responsabilizo por uso

Dio brando 2 Jan 05, 2022
πŸ”– Lemnos: A simple, light-weight command-line to-do list manager.

πŸ”– Lemnos: CLI To-do List Manager This is a simple program that allows one to manage a to-do list via the command-line. Example $ python3 todo.py add

Rohan Sikand 1 Dec 07, 2022
A Python package for a basic CLI and GUI user interface

Organizer CLI Organizer CLI is a python command line tool that goes through a given directory and organizes all un-folder bound files into folders by

Caltech Library 12 Mar 25, 2022
CLI translator based on Google translate API

Translate-CLI CLI ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ основанный Π½Π° Google translate API ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ? Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² консоли скомпилированный скрипт (exe - windows, bin - l

7 Aug 13, 2022
CLI tool that helps manage shell libraries.

shmgr CLI tool that helps manage shell libraries. Badges πŸ“› project status badges: version badges: tools / frameworks used by test suite (i.e. used by

Bryan Bugyi 0 Dec 15, 2021
Gitfetch is a simple tool to get github user details

Gitfetch Just a (cli?) tool to get github user details πŸ™‚ Installation πŸ“‚ Install Gitfetch via pypi pip install gitfetch or pip install git+https://g

I'm Not A Bot #Left_TG 7 Jan 23, 2022
Command line tool to automate transforming the effects of one color profile to another, possibly more standard one.

Finished rendering the frames of that animation, and now the colors look washed out and ugly? This terminal program will solve exactly that.

Eric Xue 1 Jan 26, 2022
Spotify Offline is a command line tool that allows one to download Spotify playlists in MP3 format.

Spotify Offline v0.0.2 listen to your favorite spotify songs, offline Overview Spotify Offline (spotifyoffline) is a command line tool that allows one

Aarush Gupta 1 Nov 28, 2021
a-shell: A terminal for iOS, with multiple windows

a-shell: A terminal for iOS, with multiple windows

Nicolas Holzschuch 1.7k Jan 02, 2023
Stephen's Obsessive Note-Storage Engine.

Latest Release Β· PyPi Package Β· Issues Β· Changelog Β· License # Get Sonse and tell it where your notes are... $ pip install sonse $ export SONSE="$HOME

Stephen Malone 23 Jun 10, 2022
A web shell client written in python.

Webshell client A webshell client written in python. Only works well for linux for the time being. Why? Because there are too many heavy webshells. So

tchar 1 Dec 07, 2021
Runs a command in P4wnP1 and displays the output on OLED screen (SH1106)

p4wnp1-oled-terminal Runs a command in P4wnP1 and displays the output on OLED screen (SH1106) Works on Raspberry Pi Zero 2 W Tested successfully on RP

PawnSolo 1 Dec 14, 2021
Tstock - Check stocks from the terminal

tstock - Check stocks from the terminal! πŸ“ˆ tstock is a tool to easily generate stock charts from the command line. Just type tstock aapl to get a 3 m

Gabe Banks 502 Dec 30, 2022
🎈 `st` is a CLI to quickly kick-off your new Streamlit project

🎈 st - a friendly Streamlit CLI st is a CLI that helps you kick-off a new Streamlit project so you can start crafting the app as soon as possible! Ho

Arnaud 18 Dec 19, 2022
A simple script that outputs the current date on the user interface/terminal.

Py-Date A simple script that outputs the current date on the user interface/terminal. How to Run Open your terminal and cd into the folder containi

Arinzechukwu Okoye 1 Jan 13, 2022
A simple weather tool. I made this as a way for me to learn Python, API, and PyPi packaging.

A simple weather tool. I made this as a way for me to learn Python, API, and PyPi packaging.

Clint E. 105 Dec 31, 2022
Hurry is a CLI tool to speed setting up MoniGoMani HyperStrategy & co. #freqtrade #hyperopting #trading #strategy

Hurry is a CLI tool to speed setting up MoniGoMani HyperStrategy & co. #freqtrade #hyperopting #trading #strategy

10 Dec 29, 2022