Skip to content

va-h/term-piechart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Term-Piechart

Tests codecov PyPI - Python Version

Displays pie charts in your terminal. This is a direct python rewrite of the Ruby Gem TTY-Pie. Maybe someone else would find this usefull as well. It requires no external dependencies and supports ASCII and HEX color codes as well as automatic generation of random colors.

Installation

python -m pip install term-piechart

Examples

from term_piechart import Pie

requests = [
    {"name": "GET", "value": 9983},
    {"name": "POST", "value": 7005},
    {"name": "DELETE", "value": 3323},
    {"name": "PUT", "value": 2794},
    {"name": "PATCH", "value": 1711},
]

pie = Pie(
    requests,
    radius=5,
    autocolor=True,
    autocolor_pastel_factor=0.7,
    legend={"line": 0, "format": "{label} {name:<8} {percent:>5.2f}% [{value}]"},
)

More in examples

Class Arguments:

  • data (default: []): A list of dicts with following elements representing the slices
    • name: Name of the element
    • value: Value of the element
    • fill (default: ): String to fill the slice with
    • color: Hexcode or ANSII Colorname
  • radius (default: 10): Amount of columns/rows as the radius to change size
  • autocolor (default: False): Can be enabled if there are no colors specified in the data dict
  • autocolor_pastel_factor (default: 0): Can be increased until 1
  • fill (default: ): Overwrite the fill symboll for every element
  • legend (default: True): Can be disabled via False or configured with a dict with those keys:
    • line (default: 1): Number of lines between legend elements
    • left (default: 4): Number of spaces between chart and left of legend
    • format (default: {label} {name} {percent:.2f}): Supports {value} as well
  • aspect_ratio (default: 2): Aspect ratio of the printed chart
  • top (default: None): Amount of rows from top of the visible terminal
  • left (default: None): Amount of columns from the left of the visible terminal

References

term-piechart is a direct python derivate of:

Developement

Tox

There's a minimal tox.ini with a requirement on pyenv and un-def/tox-pyenv-redux. Zsh users can use this as a reference.

curl https://pyenv.run | bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
. ~/.zshrc
pyenv install -s 3.12 3.11 3.10 3.9 3.8
tox

About

Dependency-less python library to print Pie charts in the terminal.

Resources

License

Stars

Watchers

Forks

Packages

No packages published