vestaboard.tools
>vesta
Vestaboard layouts from JSON, CSV, or text.
vesta is a Python CLI for formatting data, previewing output, and publishing to Vestaboard.
JSON / CSV / text•preview first•flagship + note•cloud + local
Get started
$ pip install vestaboard-tools
$ cat metrics.json | vesta render --preview-only
$ cat metrics.json | vesta post-cloud --token $VESTABOARD_TOKEN
Format
Compact numbers, labels, tables, titles, timestamps, and semantic color tiles.
Preview
Render locally in the terminal before touching the real board.
Publish
Send through the Vestaboard Cloud API or the Local API when it looks right.
metrics_styled.json
$ vesta post-cloud --input testdata/metrics_styled.json --valign center --align center --timestamp
{
"revenue_curr": 184210.50,
"sessions": 10823,
"conversion_pct": 13.2,
"bounce_rate_pct": 48.4,
"_style": {
"revenue_curr": "good",
"conversion_pct": { "good": 8, "bad": 2 },
"bounce_rate_pct": { "good": 30, "bad": 80 }
}
}home.json
$ vesta post-cloud --input testdata/home.json --columns 2 --title "home" --title-color "green,blue,violet" --subtitle time --subtitle-color violet
{
"temp": "68F",
"hum_pct": 42,
"co2": "820",
"noise": "38db",
"doors": "shut",
"light": "on",
"heat": "off",
"fans": "on"
}server.json
$ cat testdata/server.json | vesta post-cloud --title "Server" --title-color none --separator rainbow --align center
{
"uptime_pct": 99.97,
"render ms": 15.3,
"error_pct": 0.13,
"rps": 1847,
"_style": {
"uptime_pct": { "good": 100, "bad": 95, "decimals": 2 },
"render ms": { "good": 10, "bad": 100 },
"error_pct": { "good": 0, "bad": 5 }
}
}stocks.json
$ cat testdata/stocks.json | vesta render --title 'stonks' --title-color blue,red
[
{ "ticker": "AAPL", "price_curr": 262.45, "change_pct": 1.23 },
{ "ticker": "NVDA", "price_curr": 185.20, "change_pct": -2.14 },
{ "ticker": "MSFT", "price_curr": 415.80, "change_pct": 1.87 },
{ "ticker": "TSLA", "price_curr": 378.50, "change_pct": -3.45 }
]metrics_note.json
$ vesta post-cloud --input testdata/metrics_note.json --profile note
{
"temp": 72.0,
"humidity_pct": 54.0,
"change_pct": -2.1
}Quick start
Start with vesta.
Install the package, export your token, then read from and post to cloud.
$ pip install vestaboard-tools
$ export VESTABOARD_TOKEN=your_token_here
$ vesta read-cloud
$ cat data.json | vesta post-cloud