Clay is a small Clojure tool for a dynamic workflow of data visualization and literate programming.
Add Clay to your project dependencies:
(If you like to use aliases, you may add under it to the extra dependencies under an alias. See, for example, the deps.edn file of Noj. If you do not know what this means, just add it under the main :deps
section of your deps.edn
file.)
To render a given Clojure namespace, say "notebooks/index.clj"
, you may run the following in the REPL:
(require '[scicloj.clay.v2.api :as clay])
(clay/make! {:source-path "notebooks/index.clj"})
This will render an HTML page and serve it in Clay's browser view. Note that Clay does not need to be mentioned in the namespace we are rendering.
More details may be found in the Documentation. In particular:
make!
yourself.The Claykind project is rethinking the Clay architecture and implementation from scratch, in a new code base. Currently (Fall 2023), the two projects are being developed in coordination.
Kindly is a common ground for defining how things should be visualized, seeking compatibility across tools.
kindly-advice is a library that helps tools such as Clay to be Kindly-compatible.
read-kinds is used internally by Claykind (and soon by Clay as well) to generate Kindly advice from notebooks expressed as Clojure namespaces.
Please reach out to add your project to this list.
Regular updates are given at the visual-tools meetings.
The best places to discuss this project are:
(credit: Wikimedia Commons)
Copyright © 2022 Scicloj
EPLv1.0 is just the default for projects generated by clj-new
: you are not
required to open source this project, nor are you required to use EPLv1.0!
Feel free to remove or change the LICENSE
file and remove or update this
section of the README.md
file!
Distributed under the Eclipse Public License version 1.0.