A Clojure library for creating interactive data visualizations and scientific documents using Vega and Vega-Lite.
Oz is a Clojure library that provides tools for creating interactive data visualizations and scientific documents using Vega and Vega-Lite. It solves the problem of integrating declarative visualization grammars into Clojure workflows, enabling seamless visualization from the REPL, in web applications, notebooks, and static sites.
Clojure developers and data scientists who need to create, share, and embed interactive visualizations in REPL environments, web apps, or static documents.
Oz offers a unified Clojure interface to Vega/Vega-Lite with features like live reloading, hiccup embedding, and static site generation, making it easier to build and share reproducible, interactive visualizations within the Clojure ecosystem.
Data visualizations in Clojure and ClojureScript using Vega and Vega-lite
Enables immediate visual feedback by pushing Vega/Vega-Lite specs directly to a browser from the Clojure REPL using `view!`, streamlining data exploration.
Allows combining visualizations with HTML markup using Clojure's hiccup syntax, as shown in examples for flexible document layouts and dashboards.
Provides `build!` to generate static websites from markdown and Vega files with live reloading, making it easy to create and edit content dynamically.
Offers Figwheel-like hot reloading with `live-reload!`, which re-evaluates code from the first changed form, optimized for data science workflows.
Requires starting a server with `oz/start-server!` and managing CLJS builds with Shadow-CLJS, which can be daunting for newcomers and adds overhead.
Jupyter integration depends on specific kernels like Clojupyter, and the README notes it's sensitive to version/environment details, often requiring Docker for reliability.
Visualizations are limited to Vega/Vega-Lite's capabilities, and updating versions may be necessary for new features, as admitted in the debugging section.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.