Prism
Prism is a visualization library for materialized tabular data. It
compiles declarative JSON specs into charts — server-side SVG/PNG via
Go, and live in-browser via web components — using Vega-Lite-inspired
vocabulary with snake_case naming and structured, expression-free
transforms. Data enters as inline rows (data.values /
datasets.*.values) or via a caller-supplied DataResolver; Prism
never reads .pulse files.
Install
go install github.com/frankbardon/prism/cmd/prism@latest
60-second tour
prism init # writes .prism/ with schemas + examples
prism plot .prism/examples/bar_basic.json > bar.svg
prism plot --theme=dark bar.json > bar-dark.svg
prism serve --addr :8080 # Twirp + /prism/scene endpoint
prism mcp # MCP server over stdio
Try it now
- Interactive Playground — edit a spec and see it render live, entirely in your browser via WASM. ~25 curated examples covering marks, composition, transforms, and themes.
Where to go next
- Getting started — install, first chart, editor setup.
- Playground — live spec editor (WASM, no install).
- Gallery — 59 fixture specs with rendered SVGs.
- Concepts — Spec, marks, encoding, composition, selections, themes, multi-source.
- Reference — spec field reference + error code catalog.
- Cookbook — recipes for common patterns.
- Migration from Vega-Lite.