This is a categorized and annotated directory of available Clojure libraries and tools. This directory is not comprehensive and is necessarily highly opinionated.
This directory is manually curated by the Clojure community. Please endeavor to keep it up-to-date, consisting of high quality libraries with adequate documentation. There are many more libraries in the Clojure ecosystem, but some lack documentation and/or are useful primarily to experienced developers and such projects are not included in this document.
For more comprehensive overview of the Clojure library ecosystem, please see ClojureSphere.
tools.cli: a command line argument parser for Clojure
environ: Manage environment settings from a number of different sources
clojure.test: the standard unit testing library that ships with Clojure
Midje: a more featureful test framework
cloverage: a test-coverage tool (lein plug-in)
test.generative: generative testing, a la QuickCheck
data.json: JSON parser/generator to/from Clojure data structures.
clj-pdf: a library for easily generating PDFs from Clojure
data.csv: a CSV parser
Timbre: Simple, flexible, all-Clojure logging. No XML!
tools.logging: standard general-purpose logging.
clj-log: s-expression logger.
Luminus: lein template for creating batteries-included web applications using Ring, Compojure, lib-noir, and other libraries.
hiccup: Generates HTML from Clojure data structures.
Stencil: Implements the Mustache templating language.
markdown-clj: Clojure based Markdown parsers for both Clojure and ClojureScript.
Crouton: A Clojure wrapper for the JSoup HTML and XML parser that handles real world inputs
TagSoup: a tool for parsing html as it's found in the wild: poor, nasty, and brutish.
Metis: another validations library inspired by Ruby's ActiveModel
java.jdbc: Basic wrapper for JDBC. Works with all JDBC databases (MySQL, PostgreSQL, Oracle, SQL Server, etc).
jclouds: unified APIs for dozens of cloud (IaaS) providers
Amazonica: comprehensive Clojure client for the entire AWS API
ssh-transport: executes commands over SSH
pulse: Real-time Heroku operations dashboard
File I/O is covered by the JDK and commonly used via
Standard streams I/O is covered by the JDK and commonly used via
clojure.java.shell (part of Clojure distribution): Conveniently launch a sub-process providing its stdin and collecting its stdout.
conch: for shelling out to external programs. An alternative to clojure.java.shell.
math.numeric-tower: various utility math functions
math.combinatorics: common combinatorial functions
core.matrix: matrix operations
algo.monads: macros for defining monads, and definition of the most common monads
protocol-monads: A protocol based monad implementation for clojure
clisk: Clisk is a DSL-based library for procedural image generation that can be used from Clojure and Java.