Viscous
March 18, 2025 · View on GitHub
A visual data inspector/explorer that runs in constant space, time, and screen space.
Built with membrane.
Overview

Resizing

Paging

Navigating

Web Demo
Try it! https://phronmophobic.github.io/viscous/
Dependency
deps.edn
com.phronemophobic/viscous {:mvn/version "1.3.5"}
lein
[com.phronemophobic/viscous "1.3.5"]
Programmatic Usage
(require '[com.phronemophobic.viscous :as viscous])
(def my-data {:a {:b 42}})
;; open inspector window
(viscous/inspect my-data)
Cli usage
Create an alias for viscous
{
:aliases {
:viscous
{:replace-deps {com.phronemophobic/viscous {:mvn/version "1.3.5"}
org.clojure/data.json {:mvn/version "2.4.0"}}
:exec-fn com.phronemophobic.viscous.cli/main}
}
}
Read edn from stdin:
cat data.edn | clojure -X:viscous :file -
Read edn from filename:
clojure -X:viscous :file '"data.edn"'
Read json from stdin:
cat data.json | clojure -X:viscous :json-file -
Read json from filename:
clojure -X:viscous :json-file '"data.edn"'
Status
Viscous is in beta. Behavior is subject to change. Feedback is welcome.
Related
I'm generally interested in finding better ways to represent and explore medium sized heterogenous data. If you like viscous, you may also be interested in treemap-clj.
License
Copyright © 2025 Adrian Smith
Distributed under the Eclipse Public License version 1.0.