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
An extremely lightweight fault tolerance library for Clojurehttps://github.com/potetm/fusebox

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

No packages published