Clay is a small Clojure tool for a dynamic workflow of data visualization and literate programming.
It also offers a set of tools to integrate Clojure literate programming with the Quarto publishing system.
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:
- See the API and Configuration subsections for more options and variations.
- See the Setup section and recent Videos for details about integrating Clay with your editor so you do not need to call
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.
- Tablecloth documentation
- Fastmath 3 documentation (WIP)
- ClojisR documentation
- Wolframite documentation
- Clay documentation
- Kindly-noted - documenting the ecosystem around Kindly - WIP
- Noj documentation - WIP
- Clojure Tidy Tuesdays data-science explorations
- Clojure Data Scrapbook
- LLMs tutorial (in spanish) by Kyle Passarelli
Regular updates are given at the visual-tools meetings.
The best places to discuss this project are:
- a topic thread under the #clay-dev stream at the Clojurians Zulip (more about chat streams here)
- a github issue
- a thread at the visual-tools channel of the Clojurians slack
(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.