Skip to content
FedericoCerattoPublic

About

Terminal dashboards for Python

Topics

Resources

Stars

536 stars

Watchers

8 watching

Forks

Repository files navigation

badge Latest Version License REUSE

Dashing is a library to quickly create terminal-based dashboards in Python.

Example

Similar libraries for other languages: termui blessed blessed-contrib

Features: - [x] Sub-character resolution (partially filled blocks) - [x] Horizontal and vertical bars with gradient coloring - [x] Text and log panes with automated scrolling - [x] Automatic scaling of all elements - [x] Vertical and horizontal tile splitting - [x] Braille-filled charts - [x] Theming with 24-bit RGB and HSV colors - [x] Color gradients

Dependencies

The blessed library.

Installation

Use packages from your Linux distribution, or:

pip install dashing

Usage

Usage
# Colors can be "#RRGGBB" (RGB), "*HHSSVV" (HSV) or RGB(r, g, b)
ui = HSplit(
    VSplit(
        HGauge(title="title", color_low="*A000FF", color_high="*A00000"),
        VGauge(border_color="#00ff00", color_low="#0000ff", color_high="#00ffff"),
    ),
    VSplit(
        Text("Hello World,\nthis is dashing.", border_color="#ff0000"),
        Log(title="logs", color_high=RGB(0, 0, 0), color_low=RGB(200, 200, 200)),
        HBrailleFilledChart(),
    ),
    title="Dashing",
)

with open_terminal() as terminal:
    log = ui.items[1].items[1]
    log.append("log line")

ui.display(terminal)

Development

Use pytest for testing.

tests/test_integ.py contains integration tests that runs a simulated terminal and captures the output

Also minidemo.py can be used for manual testing.

About

Terminal dashboards for Python

Topics

Resources

Stars

536 stars

Watchers

8 watching

Forks

Releases

Used by

Contributors

Languages