Skip to content

mbuczko/awesome-clojure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 

Repository files navigation

Awesome Clojure https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg

Collection of useful links for Clojurians. Inspired by other awesome-* stuffs.

PRs nicely welcomed. Please add your suggestions to README.org file.

Aggregators

DescriptionLink
Open Source Clojure projectshttp://open-source.braveclojure.com/
Posts from various contributorshttp://planet.clojure.in/
Libraries and tools for Clojurehttp://www.clojure-toolbox.com/
Clojure dailyhttp://paper.li/ajlopez/1291580164
Community Curated Clojure Resourceshttps://hackr.io/tutorials/learn-clojure
Clojure graph resourceshttps://github.com/simongray/clojure-graph-resources

Blogs

DescriptionLink
ClojureWerkz projectshttp://blog.clojurewerkz.org/
Become a better programmerhttp://www.braveclojure.com
Tons of cool ideashttp://yogthos.net
Parens of deathhttp://www.parens-of-the-dead.com/
Anna Pawlickahttp://annapawlicka.com/
Jessica Kerrhttp://blog.jessitron.com/
Stuart Sierrahttp://stuartsierra.com/
Adam Bardhttps://adambard.com/blog/
Parallel Universehttp://blog.paralleluniverse.co
Verma / bloghttp://udayv.com/
Lisp Chronicleshttps://lispchronicles.com/
Clojure goes fasthttp://clojure-goes-fast.com/
Inside Clojurehttps://insideclojure.org/

Chats

Need to talk with someone? Visit one of following places:

DescriptionLink
Clojurians Slackhttp://clojurians.net/
Searchable Slack-archivehttps://clojurians.zulipchat.com
Clojurians Zuliphttp://clojurians.zulipchat.com/
Clojurians Discordhttps://discord.gg/kjKb3Gx
Lisp Discord (with clojure channel)https://discord.gg/T5D2EAJ

Documentation

Function description needed? Eager of examples / tutorials? Take a look at one of following sources:

DescriptionLink
Community-driven documentationhttp://clojure-doc.org/
Community-powered docs and exampleshttp://clojuredocs.org/
Community Clojure Documentationhttp://conj.io/
Documentation for Clojure/Script librarieshttps://cljdoc.org/
Cross-referencing the Clojure ecosystemhttp://crossclj.info/
Clojure* cheatsheetshttp://jafingerhut.github.io/
ClojureScript APIhttp://cljs.github.io/api/
ClojureScript cheatsheetshttp://cljs.info/cheatsheet/

Articles

collections

transducers

specs

virtual threads

Projects

Following is a list of amazing projects, worth to keep an eye on.

clojurescript

ClojureScript is a new compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler - https://github.com/clojure/clojurescript

datomic

The fully transactional, cloud-ready, distributed database - http://www.datomic.com/

core.async

Facilities for async programming and communication in Clojure

reagent

Minimalistic React for ClojureScript - http://holmsand.github.io/reagent/

OM

A ClojureScript interface to Facebook’s React.

riemann

Riemann aggregates events from your servers and applications with a powerful stream processing language.

An Introduction to Riemann

yada

Yada is a library that helps building RESTful web APIs quickly and easily - http://yada.juxt.pro

crux

Crux is an open source document database with bitemporal graph queries - https://juxt.pro/crux

reitit

Fast data-driven router for Clojure(Script) - https://metosin.github.io/reitit/

neanderthal

Fast native-speed matrix and linear algebra in Clojure - https://neanderthal.uncomplicate.org/

Books from the author:

eva

A distributed database-system implementing an entity-attribute-value data-model that is time-aware, accumulative, and atomically consistent - https://github.com/Workiva/eva

graphql

GraphQL for the Clojure land:

  • lacinia GraphQL implementation in pure Clojure
  • graphqlize GraphQL API instantly from Postgres and MySQL databases

datalog

my own (not that amazing ;) projects

Here is the list of my own (some of them forked…) projects that you might be interested in:

Utilities

Utilities making development even more pleasant.

Emacs

Emacs bits and pieces. Definitely worth checking out if you’re addicted to this editor.

Github

DescriptionLink
A community coding style guidehttps://github.com/bbatsov/clojure-style-guide
This is the home of O’Reilly’s Clojure Cookbookhttps://github.com/clojure-cookbook/clojure-cookbook
Routing library for Ringhttps://github.com/weavejester/compojure/wiki
Example project for Cljs/Om using Boothttps://github.com/Deraen/saapas
Clojure static page generation using boothttps://github.com/DanThiffault/boot-pages
Simple css/js asset fingerprinting for Boothttps://github.com/pointslope/boot-fingerprint
Init scheme with service supervision with Boothttps://github.com/danielsz/boot-runit
Compatibility layer with the environ libraryhttps://github.com/danielsz/boot-environ
Database migrations with Ragtime using Boothttps://github.com/mbuczko/boot-ragtime
Your trampoline to Clojure dev toolboxhttps://github.com/mbuczko/revolt
Clojure implementation of RFC 6749 OAuth 2.0https://github.com/mbuczko/cerber-oauth2-provider
Security library for Clojurehttps://github.com/niwibe/buddy
Enlive/Enfocus style templating for Facebook’s Reacthttps://github.com/ckirkendall/kioo
Produce and consume JMX beans from Clojurehttps://github.com/clojure/java.jmx
Clojure library for using SQLhttps://github.com/krisajenkins/yesql
Source code documentation toolhttps://github.com/gdeer81/marginalia
Clojure documentation toolhttps://github.com/weavejester/codox
Functions with parameter pattern matching like erlanghttps://github.com/killme2008/defun
A simple static site generator written in Clojurehttps://github.com/lacarmen/cryogen
Data processing on Hadoop without the hasslehttps://github.com/nathanmarz/cascalog
Reducers, but for parallel executionhttps://github.com/aphyr/tesser
Transducers and reducing functions for Clojure(Script)https://github.com/cgrand/xforms
A thin facade around Coda Hale’s metrics libraryhttps://github.com/sjl/metrics-clojure/
Multi-class Naive Bayes Classifierhttps://github.com/danielfm/judgr
Auth library for Clojure and Ring based on OAuth2https://github.com/pelle/clauth
Managed lifecycle of stateful objects in Clojurehttps://github.com/stuartsierra/component
State management with a `java.io.Closeable` maphttps://github.com/piotr-yuxuan/closeable-map
Event-driven programming and stream processing toolkithttps://github.com/clojurewerkz/meltdown
Understanding Clojure Sequenceshttps://github.com/JulesGosnell/seqspert
Erlang-style supervisor error handling for Clojurehttps://github.com/MichaelDrogalis/dire
A validation DSL for Clojure & Clojurescript applicationshttps://github.com/leonardoborges/bouncer
Simple scraper and tokenizerhttps://github.com/miles-no/MilesCampHackatonScraper
Clojure template for REST web services in the style of MixRadiohttps://github.com/mixradio/mr-clojure
Display ghostly yesql defqueries inline, in Emacshttps://github.com/magnars/yesql-ghosts
A lightweight ClojureScript abstraction over ReactJShttps://github.com/levand/quiescent
Clojure file and directory watcherhttps://github.com/wkf/hawk
Types again :)https://github.com/arrdem/guten-tag
ClojureScript interface to local/session storagehttps://github.com/funcool/hodgepodge
A tiny Clojure routing library for Ringhttps://github.com/taylorlapeyre/nav
Minimal React wrapper for ClojureScripthttps://github.com/tonsky/rum
A Ragtime extention for ArangoDBhttps://github.com/deusdat/waller
Contracts programming with Clojurehttps://github.com/fogus/trammel
Threadpool tools for Clojurehttps://github.com/TheClimateCorporation/claypoole
Utility library to write microserviceshttps://github.com/zalando-stups/friboo
Experimental multilenseshttps://github.com/ctford/traversy
A Constraint Programming library for Clojurehttps://github.com/aengelberg/loco
Logo in Clojurehttps://github.com/google/clojure-turtle
Elegant and efficient remote data accesshttps://github.com/kachayev/muse
Geometry toolkit for Clojure/ClojureScripthttps://github.com/thi-ng/geom
DSL for building client to remote service APIshttps://github.com/outpace/remote
Trace-oriented debugging tools for Clojurehttps://github.com/dgrnbrg/spyscope
New dependencies in REPL on the flyhttps://github.com/zcaudate/vinyasa
Priority maphttps://github.com/clojure/data.priority-map
Durable queue implementationhttps://github.com/layerware/pgqueue
Durable reference types for Clojurehttps://github.com/riverford/durable-ref
A really lightweight Clojure schedulerhttps://github.com/jarohen/chime
Interface to the Pikaday js date-pickerhttps://github.com/timgilbert/cljs-pikaday
REPL functions to support the reloaded workflowhttps://github.com/weavejester/reloaded.repl
Control throughput of fn calls and async channelshttps://github.com/brunoV/throttler
Command-line args parsing and validation with malli schemashttps://github.com/piotr-yuxuan/malli-cli
Managing Clojure app state since (reset)https://github.com/tolitius/mount
“Smarter” threading macroshttps://github.com/maitria/packthread
Human dateshttps://github.com/philjackson/wordy-date
A routing libraryhttps://github.com/Hendrick/avenue
Syntax threading macros for Clojurehttps://github.com/LonoCloud/synthread
Fast clojure json parserhttps://github.com/gerritjvv/pjson
Elegant remote data access for Clojure(Script)https://github.com/funcool/urania
Hierarchical Timing Wheels for Clojure(Script)https://github.com/sunng87/rigui
Turn files into asynchronous streamshttps://github.com/ane/vigil
Bidirectional data-driven request routinghttps://github.com/aroemers/sibiro
Library agnostic way to stub HTTP endpointshttps://github.com/johanhaleby/stub-http
Query your maps as in Dataloghttps://github.com/alandipert/intension
A feature flag library for Clojurehttps://github.com/plexus/pennon
Clojure Error Message Cataloghttps://github.com/yogthos/clojure-error-message-catalog
Functional, persistent, performant data structurehttps://github.com/datacrypt-project/hitchhiker-tree
Forward-chaining rules in Clojurehttps://github.com/rbrush/clara-rules
Monadic error handlinghttps://github.com/adambard/failjure
Visualization of Clojure data structures using Graphvizhttps://github.com/walmartlabs/datascope
Clojure wrapper over failsafehttps://github.com/sunng87/diehard/
One Time Password (TOTP and HOTP) for Clojurehttps://github.com/suvash/one-time
Mocks, stubs, and spies for Clojure protocolshttps://github.com/bguthrie/shrubbery
Failure handling with Manifoldhttps://github.com/tulos/manifail
A gentle touch of Clojure to Hashicorp’s Consulhttps://github.com/tolitius/envoy
A lightweight library of useful Clojure functionshttps://github.com/weavejester/medley
Meldable priority queues in Clojurehttps://github.com/michalmarczyk/maxiphobe
XChart wrapper for Clojurehttps://github.com/hyPiRion/clj-xchart
Convenience features making Clojure even sweeterhttps://github.com/cloojure/tupelo
Elasticsearch client for Clojurehttps://github.com/mpenet/spandex
A functional Clojure progress bar for the CLIhttps://github.com/weavejester/progrock
Hazelcast bells and whistles under the belthttps://github.com/tolitius/chazel
Clojure library for working with the GH v3 APIhttps://github.com/irresponsible/tentacles/
Reactive Streams for Clojure(Script)https://github.com/funcool/beicon
Clojure/ClojureScript URI libraryhttps://github.com/lambdaisland/uri
Command-line interfaces using only docstringhttps://github.com/carocad/docopt.clj
Rewrite Clojure Code and EDNhttps://github.com/xsc/rewrite-clj
Fast Clojure Matrix Libraryhttps://github.com/uncomplicate/neanderthal
Bidirectional Ring router. Rails inspired.https://github.com/darkleaf/router
Clojure Test Fixtures & Datasourceshttps://github.com/stylefruits/fixpoint
Evaluating composable lang rules on input stringshttps://github.com/dpom/clj-duckling
Re-frame with DataScript as a data storagehttps://github.com/denistakeda/data-frame
Http API format negotiation, encoding and decodinghttps://github.com/metosin/muuntaja
A remote (CQRS) API library for Clojurehttps://github.com/metosin/kekkonen
Ring async Server-Sent Events handlerhttps://github.com/bobby/ring-sse
General-purpose ACME clienthttps://github.com/danielsz/certificaat
Functional JVM bytecode generation for Clojurehttps://github.com/jgpc42/insn
All functions deserve to be measuredhttps://github.com/tolitius/calip
A trace window for re-framehttps://github.com/Day8/re-frame-trace
Add structure to a reagent/re-frame apphttps://github.com/gadfly361/re-surface
A queue which schedules fairly by keyhttps://github.com/acrolinx/clj-queue-by
Jetty adapter enhanced with servlet-mapping supporthttps://github.com/jiacai2050/ring-jetty-servlet-adapter
Accessing HDFS, S3, SFTP and other fs via a single APIhttps://github.com/oshyshko/uio
AWS pure Clojure, spec-based implementationhttps://github.com/portkey-cloud/aws-clj-sdk
An isolation framework for Clojure/ClojureScripthttps://github.com/metametadata/clj-fakes
Reformat Clojure(Script) source code and s-expressionshttps://github.com/kkinnear/zprint
Lean Hash Array Mapped Trie (Lean Map)https://github.com/bendyworks/lean-map
Succint and readable integration tests over RESTful APIshttps://github.com/facundoolano/restpect
Fast Idiomatic Pretty Printerhttps://github.com/brandonbloom/fipp
Graphing tool for Clojure built with interactivity in mindhttps://github.com/hswick/jutsu
REPL-based data visualization in the browserhttps://github.com/yieldbot/vizard
Graphql client for re-framehttps://github.com/oliyh/re-graph
A library of parallel-enabled Clojure functionshttps://github.com/reborg/parallel
Structural diffs for clojure source codehttps://github.com/ladderlife/autochrome
Homoglyph/IDN homograph detection/handlinghttps://github.com/mpenet/thorn
A fast data-driven router for Clojure(Script)https://github.com/metosin/reitit
A durable datalog impl adaptable for distributionhttps://github.com/replikativ/datahike
An all-purpose Clojure graph data structurehttps://github.com/Engelberg/ubergraph
Clojure(Script) library for stubs, spies and mockshttps://github.com/alexanderjamesking/spy
Add function args and return Spec checks via assertionshttps://github.com/Provisdom/defn-spec
Clojure library for fast JSON encoding and decodinghttps://github.com/metosin/jsonista
Fetch data from SQL using Clojure(script)https://github.com/walkable-server/walkable
Asynchronous programming toolkit for clojure(script)https://github.com/leonoel/missionary
Clojure mocking libraryhttps://github.com/igrishaev/mockery
Configuration from various sourceshttps://github.com/sunng87/stavka
Measure object memory consumption from Clojurehttps://github.com/clojure-goes-fast/clj-memory-meter
Convert REPL interactions into example-based testshttps://github.com/cognitect-labs/transcriptor
Lein-jlinkhttps://github.com/sunng87/lein-jlink
Programmatic access to AWS serviceshttps://github.com/cognitect-labs/aws-api
Zero-configuration command-line HTTP files serverhttps://github.com/kachayev/nasus
Clojure/ClojureScript data transformation libraryhttps://github.com/noprompt/meander
Content-addressable storagehttps://github.com/greglook/blocks
Automatic generative testing, side effect detectionhttps://github.com/gnl/ghostwheel
A minimal and opinionated linter for Clojure codehttps://github.com/borkdude/clj-kondo
Aspect-oriented Clojure(script) def-formshttps://github.com/galdre/morphe
Chronicle Queue helpershttps://github.com/mpenet/tape
String mangling library for Clojurehttps://github.com/randomseed-io/smangler
Binary byte buffer manipulation reminiscent of Chttps://github.com/sonwh98/voodoo
cond that supports :let clauses and other convenienceshttps://github.com/engelberg/better-cond
Nippy extension to add ability to freeze and thaw fnshttps://github.com/redplanetlabs/nippy-serializable-fns
A replacement for Clojure’s proxyhttps://github.com/redplanetlabs/proxy-plus
A library for accessing the OpenCage Geocoding APIhttps://github.com/sgsfak/clj-ocgeo
Save/Load Extensions for Neanderthalhttps://github.com/katox/neanderthal-stick
Utility functions for working with Redis streams in carminehttps://github.com/oliyh/carmine-streams
Functions as Datahttps://github.com/dvlopt/fdat.cljc
Next generation high performance Clojure toolkithttps://github.com/cnuernber/dtype-next
Embeddable Clojure profilerhttps://github.com/jvm-profiling-tools/async-profiler
DSL for compiling SVG elements with Clojure(script)https://github.com/adam-james-v/svg-clj
Royally reified regular expressionshttps://github.com/lambdaisland/regal
Background job queue on top of PostgreSQLhttps://github.com/metametadata/byplay
Implementation of DataLoader in Clojurehttps://github.com/oliyh/superlifter
Datahike with Firebase as data storagehttps://github.com/alekcz/datahike-firebase
A data-driven, reagent-wrapper for RoughJShttps://github.com/beders/rough-cljs
Union Types for clj(s) based on clojure.spechttps://github.com/lambdaisland/uniontypes
Native fast-starting Clojure scripting environmenthttps://github.com/borkdude/babashka
Utilities for managing Datalog rulesets from Clojurehttps://github.com/vvvvalvalval/datalog-rules
Graph based visualization tool for re-frame event chainshttps://github.com/ertugrulcetin/re-frame-flow
ClojureScript wrapper around the JavaScript fetch API.https://github.com/lambdaisland/fetch
Clojure(Script) library for phrasing spec problems.https://github.com/alexanderkiel/phrase
Do-it-yourself i18n library for Clojure/Scripthttps://github.com/tonsky/tongue
RCF – a REPL-first, async test macro for Clojure/Scripthttps://github.com/hyperfiddle/rcf
Matcher combinator to compare nested data structureshttps://github.com/nubank/matcher-combinators
Unorthodox control flow, for Clojuristshttps://github.com/aphyr/dom-top
Zero dependency efficient read/write of json and csv datahttps://github.com/cnuernber/charred
A Clojure(Script) & babashka library for dealing with timehttps://github.com/juxt/tick
Efficient JavaScript object interop via idiomatic ClojureScripthttps://github.com/mfikes/cljs-bean
Facilitates calling of client-side functions from server-side generated HTMLhttps://github.com/thheller/shadow-graft

Social Media

Because we love them :)

YouTube

Must-have YouTube subscriptions:

Twitter

People to follow, writing about clojure/lisp:

About

list of useful links for clojurians

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages