All Projects → FedericoCeratto → Dashing

FedericoCeratto / Dashing

Licence: lgpl-3.0
Terminal dashboards for Python

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Dashing

Kubebox
⎈❏ Terminal and Web console for Kubernetes
Stars: ✭ 1,855 (+669.71%)
Mutual labels:  terminal, dashboard
Mitype
Typing speed test in terminal
Stars: ✭ 241 (+0%)
Mutual labels:  terminal-based, terminal
Dashboards
Responsive dashboard templates 📊✨
Stars: ✭ 10,914 (+4428.63%)
Mutual labels:  charts, dashboard
Typin
Declarative framework for interactive CLI applications
Stars: ✭ 126 (-47.72%)
Mutual labels:  terminal-based, terminal
Stonky
A command line dashboard for monitoring stocks
Stars: ✭ 208 (-13.69%)
Mutual labels:  terminal, dashboard
Sty
String styling for your terminal.
Stars: ✭ 129 (-46.47%)
Mutual labels:  terminal-based, terminal
Amexio.github.io
Amexio is a rich set of Angular 7 (170+) components powered by HTML5 & CSS3 for Responsive Design and with 80+ Material Design Themes, UI Components, Charts, Gauges, Data Point Widgets, Dashboards. Amexio is completely Open Sourced and Free. It's based on Apache 2 License. You can use it in your production grade work today at no cost or no obligation.
Stars: ✭ 163 (-32.37%)
Mutual labels:  charts, dashboard
Covid Charts
A collection of JavaScript-based data visualization tools and data for depicting spread of the COVID-19
Stars: ✭ 88 (-63.49%)
Mutual labels:  charts, dashboard
Goaccess
GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.
Stars: ✭ 14,096 (+5748.96%)
Mutual labels:  terminal, dashboard
Jexer
Java Text User Interface
Stars: ✭ 174 (-27.8%)
Mutual labels:  terminal-based, terminal
Vue Crypto Dashboard
Cryptocurrency Dashboard made with Vue
Stars: ✭ 107 (-55.6%)
Mutual labels:  charts, dashboard
Chartbrew
Open-source web platform for creating charts out of different data sources (databases and APIs) 📈📊
Stars: ✭ 199 (-17.43%)
Mutual labels:  charts, dashboard
Npm Stats
📈 npm package statistics dashboard build with vue
Stars: ✭ 106 (-56.02%)
Mutual labels:  charts, dashboard
Termdash
Terminal based dashboard.
Stars: ✭ 1,851 (+668.05%)
Mutual labels:  terminal-based, dashboard
Kupi Terminal
Ccxt based, open source, customized, extendable trading platform that supports 130+ crypto exchanges.
Stars: ✭ 104 (-56.85%)
Mutual labels:  terminal, dashboard
Vixl44
Create pixel art inside your terminal using vim movements
Stars: ✭ 152 (-36.93%)
Mutual labels:  terminal-based, terminal
Jp
dead simple terminal plots from JSON data. single binary, no dependencies. linux, osx, windows.
Stars: ✭ 1,184 (+391.29%)
Mutual labels:  terminal, charts
Sampler
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.
Stars: ✭ 9,203 (+3718.67%)
Mutual labels:  terminal, charts
Wtf
The personal information dashboard for your terminal
Stars: ✭ 12,973 (+5282.99%)
Mutual labels:  terminal, dashboard
Ox
An independent Rust text editor that runs in your terminal!
Stars: ✭ 2,634 (+992.95%)
Mutual labels:  terminal-based, terminal

image:https://img.shields.io/badge/status-alpha-orange.svg[badge] image:https://img.shields.io/badge/version-0.1.0-orange.svg[badge] image:https://img.shields.io/pypi/v/dashing.svg?style=plastic["Latest Version", link="https://pypi.python.org/pypi/dashing"] image:https://img.shields.io/badge/License-LGPL%20v3-blue.svg[License]

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

image:https://raw.githubusercontent.com/FedericoCeratto/dashing/gh-pages/tty.gif[Example]

Similar libraries for other languages: https://github.com/gizak/termui[termui] https://github.com/chjj/blessed[blessed] https://github.com/yaronn/blessed-contrib[blessed-contrib]

=== Dependencies

The link:https://pypi.python.org/pypi/blessed[blessed] library.

=== Installation

Use packages from your Linux distribution, or:

[source,bash]

pip install dashing

=== Usage

See the documentation at https://dashing.readthedocs.io/en/latest/

.Usage [source,python]

from time import sleep, time import math

from dashing import *

if name == 'main':

ui = HSplit(
        VSplit(
            HGauge(val=50, title="only title", border_color=5),
            HGauge(label="only label", val=20, border_color=5),
            HGauge(label="only label", val=30, border_color=5),
            HGauge(label="only label", val=50, border_color=5),
            HGauge(label="only label", val=80, border_color=5),
            HGauge(val=20),
            HGauge(label="label, no border", val=55),
            HSplit(
                VGauge(val=0, border_color=2),
                VGauge(val=5, border_color=2),
                VGauge(val=30, border_color=2),
                VGauge(val=50, border_color=2),
                VGauge(val=80, border_color=2, color=4),
                VGauge(val=95, border_color=2, color=3),
                ColorRangeVGauge(
                    val=100,
                    border_color=2,
                    colormap=(
                        (33, 2),
                        (66, 3),
                        (100, 1),
                    )
                ),
            )
        ),
        VSplit(
            Text('Hello World,\nthis is dashing.', border_color=2),
            Log(title='logs', border_color=5),
            VChart(border_color=2, color=2),
            HChart(border_color=2, color=2),
            HBrailleChart(border_color=2, color=2),
            # HBrailleFilledChart(border_color=2, color=2),
        ),
        title='Dashing',
    )
log = ui.items[1].items[1]
vchart = ui.items[1].items[2]
hchart = ui.items[1].items[3]
bchart = ui.items[1].items[4]
# bfchart = ui.items[1].items[5]
log.append("0 -----")
log.append("1 Hello")
log.append("2 -----")
prev_time = time()
for cycle in range(0, 200):
    ui.items[0].items[0].value = int(50 + 49.9 * math.sin(cycle / 80.0))
    ui.items[0].items[1].value = int(50 + 45 * math.sin(cycle / 20.0))
    ui.items[0].items[2].value = int(50 + 45 * math.sin(cycle / 30.0 + 3))

    vgauges = ui.items[0].items[-1].items
    for gaugenum, vg in enumerate(vgauges):
        vg.value = 50 + 49.9 * math.sin(cycle / 12.0 + gaugenum)

    t = int(time())
    if t != prev_time:
        log.append("%s" % t)
        prev_time = t
    vchart.append(50 + 50 * math.sin(cycle / 16.0))
    hchart.append(99.9 * abs(math.sin(cycle / 26.0)))
    bchart.append(50 + 50 * math.sin(cycle / 6.0))
    # bfchart.append(50 + 50 * math.sin(cycle / 16.0))
    ui.display()

    sleep(1.0/25)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].