Might be useful to know: Hanami offers a neat way of writing Vega and Vega-Lite specs succinctly, avoiding boilerplate through templates. https://github.com/jsa-aerial/hanami#simple-cars This templating method is just about pure data transformations, and thus it plays well with any library that knows how to render Vega and Vega-Lite: Oz, Darkstar, Pink-Gorilla, etc.
do any of the libraries render the vega* specifications themselves or do they all shell out to vega* libraries under the hood?
None of them render vega themselves, all calling out to vega (either via browser, or via the vega-cli).
I think I remember talk of cljplot implementing a more declarative api along the lines of vega, but I don't know what's come of that
also looking into that! see this thread: https://clojurians.slack.com/archives/C0BQDEJ8M/p1597609411488100
@smith.adriane Indeed all these libraries call out to Vega*, but Darkstar by @jackrusher at least does it on the JVM itself, without needing a separate runtime. https://github.com/applied-science/darkstar It does raise some issues too, as discussed in this conversation: https://clojurians.zulipchat.com/#narrow/stream/151924-data-science/topic/rendering.20charts.20in.20notespace/near/193422315
very interesting. thanks for the pointer!