Data visualizations from Clojure using Vega(-Lite) in the browser.
Waqi workflow is designed for the Clojurist who interacts with their data by iteratively visualizing (parts of) it, with code and resulting Vega-Embed simultaneously in view.
Users evaluate Vega/Vega-Lite specs (as Clojure maps) with
plot! to see their data visualized in the browser. If Waqi has not started a server and established a WebSocket connection to a browser, it calls
start-server! (with or without a port argument) to do so. If
plot! cannot send a WebSocket message it will throw an error.
Architecture is as follows:
[bare-bones HTML page on localhost] ^ | (Vega(-Lite) specs, as JSON, sent via websocket) | v (Vega(-Lite) specs, [http-kit webserver] <--- as Clojure maps, ---- [client] sent via function call)