The Ultimate Terminal Dashboard
Turn any data source into a stunning interactive dashboard, directly in your terminal. No fluff, no GUI, just pure terminal sorcery. ⚡
The full documentation is available here: Datacmd Code Wiki
Tired of bloated web UIs? datacmd brings data visualization back to where real devs live: the terminal.
- One Command = Instant Dashboard
- Dynamic Widgets: Tables, charts, gauges, pies, radars & more
- Smart Layout Engine: Auto-generates from data OR use YAML to customize
- Real-Time Feeds: From APIs, metrics, JSON, CSV
- Zero Setup: No deps, no bullshit, just
go run
Think of it like
htopmeetsgrafana, but cooler and terminal-native.
It follows my obsession with data, which I developed by building https://datastripes.com, the web data engine that transform data analysis into simple flows.
Realtime stock tracker via datacmd --source=stock.json
No setup, no Go, no stress.
✅ macOS · 🪟 Windows · 🐧 Linux
📦 Go to the Releases page and download the latest binary for your OS.
Then:
# macOS / Linux
chmod +x datacmd
./datacmd --generate --source=your-data.csv
# Windows
datacmd.exe --generate --source=your-data.csvgit clone https://github.com/VincenzoManto/Datacmd.git
cd datacmd
go mod tidy
go run main.go --generate --source=your-data.csv# Auto-generate a dashboard from any CSV or JSON
datacmd --generate --source=./data.csv
# Or load your own layout
datacmd --config=dashboard.ymlData sources supported:
.csv📂.json📜- REST APIs 🌐
- Live system metrics (CPU, RAM, disk) 🖥️
- Table – Paginated, sortable
- Gauge – Perfect for usage stats, thresholds
- Pie Chart – Categorical comparisons
- Line Chart – Trends, time-series
- Radar – Multi-metric comparisons
- Text Box – Notes, alerts, logs
- Number – Big, bold KPIs
- Funnel – Visualize stages in a process
- Scatter – Correlation in dots
- Histogram – Numeric distribution
Customize via YAML, or let --generate do it all.
The gauge widget can be used to display aggregated values from your data. You can use the aggregation property to specify the aggregation type (sum, avg, median, max, min). The max_value property sets the upper bound for the gauge. If not provided, it's inferred from the data.
Here is an example of a gauge that shows the average CPU usage:
- type: gauge
title: "Average CPU Usage"
value_col: "cpu_usage_percent"
aggregation: "avg"
max_value: 100git clone https://github.com/VincenzoManto/Datacmd.git
cd datacmd
go mod tidy[
{"ticker": "AAPL", "price": 175.50, "volume": 1200000},
{"ticker": "GOOG", "price": 140.25, "volume": 950000},
{"ticker": "MSFT", "price": 280.75, "volume": 1500000}
]go run main.go --generate --source=stock.jsonInstantly shows:
- Table of stocks
- Volume gauges
- Market share pie chart
layout:
- type: table
source: stock.json
fields: [ticker, price, volume]
- type: pie
title: "Market Share"
field: volumeYour dashboard, your rules.
datacmd is the spiritual open source successor to Datastripes, reimagined with more muscle, more magic, and zero fluff.
Based on datacmd, with the team @ Datatripes, we developed our complete and curated toolkit for data analysis
We’re building more than a CLI, we’re starting a movement. Star the repo ⭐, submit PRs, file issues, or just show us the wild dashboards you build.
Apache 2.0, free as in freedom and fast as in Go.
The full documentation is available here: Datacmd Code Wiki
I built `datacmd`, a tool that turns CSV/JSON/API into live dashboards, directly in your terminal
✅ No deps
🪄 Auto layout
⚡ One command
→ https://github.com/VincenzoManto/datacmd