Skip to content

Latest commit

 

History

History
479 lines (458 loc) · 46.4 KB

README.org

File metadata and controls

479 lines (458 loc) · 46.4 KB

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: