🎥 Demostración interactiva con Asciinema + Dashy (Python)
¡Explorando interfaces web en tiempo real con la librerÃa Dashy!
📦 Dashy convierte tus scripts Python en dashboards visuales sin complicaciones.
🚀 Ideal para data science, automatización y proyectos rápidos.
✅ Reproducible desde terminal.
👇 Mira el video y prueba tú mismo:
By autor https://github.com/FedericoCeratto/dashing all credits good job !
# Colores básicos (foreground)
# Puedes usarlos en widgets como: color=..., border_color=...
# 0 - Black (negro - puede no verse si fondo es oscuro)
# 1 - Red (rojo)
# 2 - Green (verde)
# 3 - Yellow (amarillo)
# 4 - Blue (azul)
# 5 - Magenta (rosado/morado)
# 6 - Cyan (azul claro)
# 7 - White (gris claro / blanco)
import math
from time import time, sleep
from dashing import (
ColorRangeVGauge,
HBrailleChart,
HChart,
HGauge,
HSplit,
Log,
Text,
VChart,
VGauge,
VSplit,
Terminal, # Importante
)
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),#azul
VGauge(val=95, border_color=2, color=3),#Amarillo
ColorRangeVGauge(
val=100,
border_color=2,
colormap=(
(33, 2),
(66, 3),
(100, 1),
)
),
)
),
VSplit(
Text('Hello World,\nthis is dashing.', border_color=5, color = 3), # blanco para fondo negro
Log(title='logs', border_color=5, color=3), # Problema fondo negreo con letra amairilla
VChart(border_color=2, color=2),
HChart(border_color=2, color=2),
HBrailleChart(border_color=2, color=3),
),
title='Dashing library for Python',
)
log = ui.items[1].items[1]
vchart = ui.items[1].items[2]
hchart = ui.items[1].items[3]
bchart = ui.items[1].items[4]
log.append("0 -----")
log.append("1 Hello")
log.append("2 -----")
prev_time = time()
terminal = Terminal() # ¡Aquà se crea el terminal!
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)
# El problema es fondo negro para las letras se desaparece usar amarillo, a unos nos gusta el fondo negro del bash o zsh