A batteries-included Clojure notebook for eval-on-save workflows.
Fegloj is a batteries-included notebook environment for exploratory data analysis and literate programming in Clojure. It combines Clay (literate programming) and Noj (data science stack) with live-reload functionality:
- Clay: Notebook-style evaluation and browser-based rendering
- Noj: Comprehensive data science stack (Tablecloth, Fastmath, Scicloj.ml, and more)
- Live-reload: Auto-evaluation on file save
- REPL: Interactive development with full Clojure REPL
- Default notebook: Creates a starter notebook on first run
FEGL not REPL: Fegloj uses a File-Eval-GUI-Loop workflow instead of just a traditional REPL. Your file is the source of truth, and each save triggers evaluation. Clay re-evaluates the file and displays results in your browser. This is similar to Figwheel but for data science notebooks.
This supports data exploration, teaching, and prototyping.
- Java 11 or later (install Java if needed)
- A web browser (for viewing Clay outputs)
- Download the latest
fegloj-*-standalone.jarfrom Releases - Run it:
java -jar fegloj-*-standalone.jar - Edit
notebooks/my_notebook.cljin your favorite editor (VS Code, Emacs, Vim, etc.) - Save the file and watch your browser update with rendered output
On startup, fegloj:
- Creates a
notebooks/directory with a defaultmy_notebook.clj - Starts Clay with live-reload mode
- Opens rendered output in your browser
- Provides a REPL for interactive development
The FEGL Workflow:
- Edit your notebook (
notebooks/my_notebook.clj) in your favorite editor - Save the file (Cmd+S / Ctrl+S)
- Clay automatically re-evaluates and updates your browser
- Iterate!
- Clay Documentation - Learn about literate programming and visualization
- Noj Guide - Explore the data science toolkit
- Clojure for Data Science - Tutorials and examples
- Glance - Just plot
See individual component licenses:
- Clay: EPL-2.0
- Noj: EPL-2.0
Enjoy exploring data with Clojure! 🎨