Terminal charts with rich compatibility in mind
import termcharts
chart1 = termcharts.bar({'roll': 24, 'bread':10, 'rice':30, 'pasta':50}, title='brunches')
chart2 = termcharts.bar({'roll': 24, 'bread':10, 'rice':30, 'pasta':50}, title='brunches', mode='v') # vertical
chart3 = termcharts.bar([10, 20, 30, 40], title='brunches') # from list
print(chart1)
print(chart2)
print(chart3)
import termcharts
chart = termcharts.pie({'pencil':10, 'eraser': 20, 'ruler': 30}, title='stationary')
print(chart)
import termcharts
chart = termcharts.doughnut({'a':10, 'b': 20, 'c': 30}, title='aphabet dist')
print(chart)
from termcharts import pie
from termcharts import doughnut
from termcharts import bar
from rich.console import Console
from rich.columns import Columns
from rich.panel import Panel
console = Console()
charts = [
doughnut({'a':10, 'b': 20, 'c': 30, 'd': 20}, title='aphabet dist', rich=True),
pie({'wefwefqwddwqdqwda':10, 'b': 20, 'c': 30, 'd': 20}, rich=True),
bar({'roll': 24, 'bss':10, 'wes':30, 'ewfwef':50}, title='Brunches', rich=True)
]
user_renderables = [Panel(x, expand=True) for x in charts]
console.print(Columns(user_renderables))
All testing is currently handled by the pytest module and are incomplete at the momment.
Installation:
pip install -U pytest
Run all the testcases in a file:
pytest tests/<file>.py
Run one testcase in a file:
pytest tests/<file>.py::<function_name>
Exclude one testcase in a file:
pytest tests/<file>.py -k 'not <function_name>'