overview
Purpose
Glyph is a terminal-based data visualization framework that lets software engineers quickly query, transform, and visualize data — directly from their terminal, without leaving the keyboard or context.
The Problem
Software engineers who work with data often face a frustrating round-trip: query data, export it, open a notebook or plotting library, configure charts, and leave the terminal to view the result. By the time the visualization appears, the connection between the data and the view has already degraded — context is lost across tools, APIs, and domains.
The Solution
glyph closes that loop by keeping everything in one place:
- blr — a declarative yet Turing-complete query and visualization language (inspired by the ML language family). It handles both data transformation and chart/layout definitions in a single domain.
- glyph — a terminal UI built on ratatui + crossterm that renders blr-defined visualizations as reactive, in-terminal displays.
- Vertically integrated API — unlike dashboarding systems that bolt together generic SQL and separate charting libraries, glyph owns the full stack. Context flows freely between the data layer and the visualization layer because they share the same language.
Data Sources
Data comes from anywhere. blr uses a modular package system — CSV and local files ship built-in, and additional source modules can be installed for databases, APIs, log streams, telemetry systems, and more.
Design Goals
- Fast, reactive visualizations — query data and see a visualization with minimal effort.
- Single environment — no need to leave the terminal to inspect, query, and view data.
- Expressive language — blr is simple enough for declarative queries but powerful enough for complex transformations and visualization definitions.
- Tight integration — the language and the UI speak the same API, so no context is lost between querying and rendering.
- Extensible sources — new data sources are added as blr packages, not by forking the core.
Target Users
Software engineers who dabble in data science — people comfortable in the terminal, who already interact with data daily (logs, metrics, CSVs, databases), but who don't want to spin up Jupyter notebooks or heavy plotting libraries for quick exploration and visualization.
Scope
glyph is a small, focused tool designed from the start for vertical integration. It is not a general-purpose dashboarding framework. Each visualization is tightly coupled to its data source through blr, and the system is optimized for that integration.
The project will start as a personal tool. If and when it proves useful beyond the original use cases, the community can help grow it — but the core design remains intentionally scoped and coherent.