Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mbuczko/awesome-clojure
list of useful links for clojurians
https://github.com/mbuczko/awesome-clojure
List: awesome-clojure
article clojure clojurescript
Last synced: 19 days ago
JSON representation
list of useful links for clojurians
- Host: GitHub
- URL: https://github.com/mbuczko/awesome-clojure
- Owner: mbuczko
- Created: 2015-04-10T09:51:28.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-05-07T08:55:57.000Z (6 months ago)
- Last Synced: 2024-05-23T04:09:56.556Z (6 months ago)
- Topics: article, clojure, clojurescript
- Size: 310 KB
- Stars: 343
- Watchers: 22
- Forks: 21
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
- fucking-awesome-awesomeness - by @mbuczko
- fucking-lists - awesome-clojure
- awesomelist - awesome-clojure
- collection - awesome-clojure
- lists - awesome-clojure
- awesome-awesomeness - by @mbuczko
README
#+TITLE: Awesome Clojure [[https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg]]
#+OPTIONS: toc:nil
#+OPTIONS: num:nil
#+STARTUP: align shrinkCollection of useful links for Clojurians. Inspired by other awesome-* stuffs.
PRs nicely welcomed. Please add your suggestions to README.org file.
#+TOC: headlines 2 local
* Aggregators
| Description | Link |
|-------------------------------------+------------------------------------------------------|
| Open Source Clojure projects | http://open-source.braveclojure.com/ |
| Posts from various contributors | http://planet.clojure.in/ |
| Libraries and tools for Clojure | http://www.clojure-toolbox.com/ |
| Clojure daily | http://paper.li/ajlopez/1291580164 |
| Community Curated Clojure Resources | https://hackr.io/tutorials/learn-clojure |
| Clojure graph resources | https://github.com/simongray/clojure-graph-resources |
* Blogs
| Description | Link |
|----------------------------+------------------------------------|
| ClojureWerkz projects | http://blog.clojurewerkz.org/ |
| Become a better programmer | http://www.braveclojure.com |
| Tons of cool ideas | http://yogthos.net |
| Parens of death | http://www.parens-of-the-dead.com/ |
| Anna Pawlicka | http://annapawlicka.com/ |
| Jessica Kerr | http://blog.jessitron.com/ |
| Stuart Sierra | http://stuartsierra.com/ |
| Adam Bard | https://adambard.com/blog/ |
| Parallel Universe | http://blog.paralleluniverse.co |
| Verma / blog | http://udayv.com/ |
| Lisp Chronicles | https://lispchronicles.com/ |
| Clojure goes fast | http://clojure-goes-fast.com/ |
| Inside Clojure | https://insideclojure.org/ |
* Chats
Need to talk with someone? Visit one of following places:| Description | Link |
|-------------------------------------+----------------------------------|
| Clojurians Slack | http://clojurians.net/ |
| Searchable Slack-archive | https://clojurians.zulipchat.com |
| Clojurians Zulip | http://clojurians.zulipchat.com/ |
| Clojurians Discord | https://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:| Description | Link |
|--------------------------------------------+-------------------------------|
| Community-driven documentation | http://clojure-doc.org/ |
| Community-powered docs and examples | http://clojuredocs.org/ |
| Community Clojure Documentation | http://conj.io/ |
| Documentation for Clojure/Script libraries | https://cljdoc.org/ |
| Cross-referencing the Clojure ecosystem | http://crossclj.info/ |
| Clojure* cheatsheets | http://jafingerhut.github.io/ |
| ClojureScript API | http://cljs.github.io/api/ |
| ClojureScript cheatsheets | http://cljs.info/cheatsheet/ |
* Articles
- [[http://yogthos.net/posts/2015-01-15-A-Plugin-System-in-Clojure.html][Plugin system in Clojure]]
- [[http://blog.mattgauger.com/blog/2014/09/15/clojure-code-quality-tools/][Clojure quality tools]]
- [[http://blog.josephwilk.net/clojure/building-clojure-services-at-scale.html][Clojure services at Scale]]
- [[http://josf.info/blog/2014/10/02/practical-zippers-extracting-text-with-enlive/][Zippers]]
- [[http://spootnik.org/entries/2014/11/06_playing-with-clojure-core-interfaces.html][Clojure interfaces]]
- [[http://dev.mixrad.io/blog/2014/10/19/Clojure-libraries/][Clojure at MixRadio]]
- [[http://www.braveclojure.com/writing-macros/][Clojure Macros explained]]
- [[http://yobriefca.se/blog/2014/05/19/the-weird-and-wonderful-characters-of-clojure/][Weird Clojure characters explained]]
- [[https://aphyr.com/posts/319-clojure-from-the-ground-up-debugging][Debugging clojure]]
- [[http://getprismatic.com/story/1421983286985][Ring Web Applications with Comsat]]
- [[http://learnxinyminutes.com/docs/compojure/][Compojure tutorial]]
- [[http://blog.factual.com/open-source-clojure-library-for-geospatial-information][Geospatial Information]]
- [[http://www.jasonstrutz.com/posts/obfuscate-your-clojure-webapp-ids-with-hashids/][Clojure web-apps IDs with Hashids]]
- [[http://rundis.github.io/blog/2015/buddy_auth_part1.html][Securing Clojure Microservices using buddy]]
- [[http://suva.sh/2014/10/27/test-workflow-setup-for-clojure/][Setup TDD workflow for Clojure]]
- [[http://sunng.info/blog/blog/2014/07/08/microservice-and-slacker-cluster/][Microservice Architecture With Slacker Cluster]]
- [[https://semaphoreci.com/community/tutorials/testing-clojure-web-applications-with-selenium][Testing Clojure with Selenium]]
- [[https://semaphoreci.com/community/tutorials/testing-clojure-web-applications-with-kerodon][Testing Clojure web apps with kerodon]]
- [[http://blog.circleci.com/testing-clojurescript-code-with-clojurescript-test-and-karma/][Testing Clojurescript with Karma]]
- [[http://lab.brightnorth.co.uk/2014/05/07/midje-rocks-integration-testing-in-clojure/][Integration tests with Midje]]
- [[https://nelsonmorris.net/2015/04/22/streaming-responses-using-ring.html][Streaming responses using Ring]]
- [[http://insideclojure.org/2015/04/27/poly-perf/][Polymorfic performance]]
- [[http://stuarth.github.io/pixie/pixie-pi/][Pixie Pi]]
- [[http://brownsofa.org/blog/2015/06/14/clojure-in-production-logging/][Clojure in Production: Logging]]
- [[http://martinklepsch.github.io/tenzing/][Clojurescript application template]]
- [[https://speakerdeck.com/kachayev/efficient-concurrent-and-concise-data-access-in-clojure][Efficient, Concurrent and Concise Data Access in Clojure]]
- [[http://dev.solita.fi/2014/03/18/pimp-my-repl.html][Pimp my REPL]]
- [[http://www.javacodegeeks.com/2015/09/clojure-prismatic-schemas-are-swagger.html][Clojure (Prismatic) Schemas are Swagger]]
- [[http://camdez.com/blog/2015/08/27/practical-data-coercion-with-prismatic-schema/][Practical Data Coercion With Prismatic/schema]]
- [[http://mishadoff.com/blog/clojure-design-patterns/][Clojure Design Patterns]]
- [[http://daveyarwood.github.io/2014/07/30/20-cool-clojure-functions/][20 cool Clojure functions]]
- [[https://adambard.com/blog/deploying-a-clojure-project-with-pallet/][Deploying a Clojure web app with Pallet]]
- [[https://engineering.fundingcircle.com/blog/2016/01/11/tdd-in-clojure/][TDD in Clojure]]
- [[http://nathanmarz.com/blog/functional-navigational-programming-in-clojurescript-with-sp.html][Functional-navigational programming with Specter]]
- [[http://escherize.com/2016/02/29/boot-with-cljs/][Quickstart Boot and ClojureScript]]
- [[https://kartar.net/2016/04/managing-maintenance-with-riemann/][Managing Maintenance With Riemann]]
- [[http://blog.muhuk.com/2016/05/10/using_codox_effectively.html][Using Codox Effectively]]
- [[http://blog.jenkster.com/2016/06/clojure-fu-with-juxt.html][Clojure-Fu with Juxt]]
- [[http://garajeando.blogspot.com/2016/07/kata-ohce-in-clojure-using-outside-in.html][Ohce in Clojure using outside-in TDD with Midje]]
- [[https://www.dotkam.com/2017/01/10/hubble-space-mission-securely-configured/][Hubble Space Mission Securely Configured]]
- [[http://www.surrealanalysis.com/post/clojure-and-consul/][Consul & Clojure]]
- [[https://adzerk.com/blog/2017/02/faster-clojure-metadevelopment-with-boot/][Faster meta-development with boot]]
- [[http://dev.solita.fi/2017/03/09/isolated-integration-testing-with-clojure-and-postgres.html][Isolated integration testing with postgres]]
- [[http://paul.stadig.name/2016/08/reducible-streams.html][Reducible streams]]
- [[https://purelyfunctional.tv/guide/clojure-concurrency-the-ultimate-guide/][The Ultimate Guide to Clojure Concurrency]]
- [[https://adambard.com/blog/domain-modeling-with-clojure-spec/][Domain modelling with clojure.spec]]
- [[http://dragan.rocks/articles/17/Clojure-Numerics-1-Use-Matrices-Efficiently][Use Matrices Efficiently]]
- [[http://tonsky.me/blog/readable-clojure/][Readable Clojure]]
- [[https://labs.uswitch.com/comprehensible-code/][Comprehensible Code]]
- [[http://www.functionalbytes.nl//clojure/mount/mount-lite/2016/02/11/mount-lite.html][Yet another "mount" alternative]]
- [[http://clojure-goes-fast.com/blog/performance-nemesis-reflection/][Performance nemesis: reflection]]
- [[http://clojure-goes-fast.com/blog/introspection-tools-java-decompilers/][Introspection tools: Java decompilers]]
- [[http://www.metosin.fi/blog/reitit/][Reitit, Data-Driven Routing with Clojure(Script)]]
- [[https://whimsical.co/tech/how-we-built-whimsical/][How We Built Whimsical]]
- [[https://tirkarthi.github.io/programming/2018/08/17/redis-streams-clojure.html][Redis streams and Clojure]]
- [[http://ahungry.com/blog/2018-12-26-Clojure-is-Capable.html][Clojure is capable]]
- [[https://mjg123.github.io/2017/10/04/AppCDS-and-Clojure.html][Quicker Clojure startup with AppCDS and AOT]]
- [[https://www.dotkam.com/2017/04/09/hazelcast-keep-your-cluster-close-but-cache-closer/][Hazelcast: Keep your cluster close, but cache closer]]
- [[https://tech.redplanetlabs.com/2020/01/06/serializing-and-deserializing-clojure-fns-with-nippy/][Serializing and Deserializing Clojure Fns with Nippy]]
- [[https://medium.com/@pwentz/laziness-in-clojure-3d83645bf7f3][Laziness in Clojure]]
- [[http://bytopia.org/2016/10/15/beware-of-assertions/][Beware of assertions]]
- [[https://aphyr.com/posts/360-loopr-a-loop-reduction-macro-for-clojure][Loopr: A Loop/Reduction Macro for Clojure]]
*** collections
- [[https://purelyfunctional.tv/guide/clojure-collections/][Clojure Data Structures Tutorial]]
*** transducers
- [[http://elbenshira.com/blog/understanding-transducers/][Understanding transducers]]
- [[http://blog.juxt.pro/posts/xpath-in-transducers.html][Processing documents with transducers]]
- [[https://labs.uswitch.com/transducers-from-the-ground-up-the-practice/][Transducers from the ground up]]
- [[https://www.astrecipes.net/blog/2016/11/24/transducers-how-to/][Transducers how-to]]
- [[https://dawranliou.com/blog/better-performance-with-java-arrays-in-clojure/][Better Performance With Java Arrays In Clojure]]
*** specs
- [[http://conan.is/blogging/clojure-spec-tips.html][Clojure Spec Tips]]
- [[http://blog.cognitect.com/blog/2016/8/9/focus-on-spec-predicates][Focus on Spec: predicates]]
- [[https://www.metosin.fi/blog/spec-transformers/][Spec Transformers]]
*** virtual threads
- [[https://andersmurphy.com/2024/05/06/clojure-managing-throughput-with-virtual-threads.html][Clojure: managing throughput with virtual threads]]
- [[https://ericnormand.me/guide/clojure-virtual-threads][Virtual Threads in Clojure]]
* 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- [[https://github.com/emrehan/awesome-clojurescript][Clojurescript awesomeness]]
- [[http://cljsjs.github.io/][Javascript libraries packaged up with Google Closure externs]]
- [[http://adambard.com/blog/a-simple-clojurescript-app/][Kioo example]]
- [[http://www.niwi.be/cljs-workshop/][ClojureScript tutorial]]
- [[http://www.niwi.be/2015/03/28/promises-and-clojurescript/][Promises and Clojurescript]]
- [[http://kanaka.github.io/clojurescript/web/synonym.html][Translations from Javascript]]
- [[https://github.com/magomimmo/modern-cljs][Modern ClojureScript]]
- [[https://github.com/bhauman/devcards][Visual REPL experience for ClojureScript]]
- [[https://github.com/binaryage/dirac][A Chrome DevTools fork for ClojureScript developers]]
- [[https://github.com/jmmk/javascript-externs-generator][Javascript externs generator]]
- [[https://purelyfunctional.tv/guide/re-frame-building-blocks/][The Re-frame Building Blocks Guide]]
- [[https://pupeno.com/2017/05/06/how-to-work-with-a-private-library-in-clojurescript/][How to work with a private library in ClojureScript]]
- [[https://code.thheller.com/blog/shadow-cljs/2019/03/03/code-splitting-clojurescript.html][Code-Splitting ClojureScript]]
** datomic
The fully transactional, cloud-ready, distributed database - http://www.datomic.com/- [[https://github.com/flyingmachine/datomic-junk][Helper library for datomic]]
- [[http://www.learndatalogtoday.org/][Interactive tutorial]]
** core.async
Facilities for async programming and communication in Clojure- [[https://github.com/halgari/clojure-conj-2013-core.async-examples/blob/master/src/clojure_conj_talk/core.clj][Examples]]
- [[https://github.com/martintrojer/go-tutorials-core-async][Tutorials]]
- [[http://blog.venanti.us/using-transducers-with-core-async-clojurescript/][Using Transducers with Core.async in ClojureScript]]
- [[http://ku1ik.com/2015/10/12/sweet-core-async.html][Core.async in the browser is sweet]]
- [[http://www.bradcypert.com/clojure-async/][Introduction to Asynchronous Programming in Clojure]]
- [[http://danboykis.com/posts/things-i-wish-i-knew-about-core-async/][Things I Wish I Knew About Core Async in Clojure]]
- [[http://danboykis.com/posts/core-async-timeout-channels/][Core Async Timeout Channels]]
- [[https://www.braveclojure.com/core-async/][Mastering Concurrent Processes with core.async]]
- [[https://blog.venanti.us/using-transducers-with-core-async-clojurescript/][Using transducers with core.async in Clojurescript]]
** reagent
Minimalistic React for ClojureScript - http://holmsand.github.io/reagent/- [[http://timothypratley.blogspot.com/2017/01/reagent-deep-dive-part-1.html][Reagent deep dive part 1]]
- [[http://timothypratley.blogspot.com/2017/01/reagent-deep-dive-part-2-lifecycle-of.html][Reagent deep dive part 2]]
- [[https://github.com/reagent-project/reagent-cookbook][Reagent cookbook]]
- [[https://github.com/Day8/re-frame][Reagent Framework For Writing SPAs, in Clojurescript]]
- [[https://carouselapps.com/2015/08/26/no-hashes-bidirectional-routing-in-re-frame-with-bidi-and-pushy/][No-hashes bidirectional routing in re-frame with bidi and pushy]]
- [[https://github.com/Day8/re-frame/wiki/Creating-Reagent-Components][Creating reagent components]]
- [[http://www.mattgreer.org/articles/reagent-rocks/][Why reagent rocks?]]
- [[https://github.com/tastejs/todomvc][TodoMVC for Reagent]]
- [[https://github.com/reagent-project/reagent/wiki/Applications-built-with-Reagent][Applications built with Reagent]]
- [[https://github.com/bilus/reforms][Beautiful Bootstrap 3 forms for Om, Reagent and Rum]]
** OM
A ClojureScript interface to Facebook's React.- [[https://github.com/om-cookbook/om-cookbook][Om cookbook]]
- [[https://github.com/plexus/chestnut][Application template for ClojureScript/Om with live reloading]]
- [[http://www.stuttaford.me/2014/08/10/om-interop-with-3rd-party-libs/][Om interop with 3rd party JS libs]]
- [[http://annapawlicka.com/common-mistakes-to-avoid-when-creating-an-om-component-part-1/][Mistakes to avoid when creating an Om component. Part 1.]]
- [[http://annapawlicka.com/common-mistakes-to-avoid-when-creating-an-om-component-part-2/][Mistakes to avoid when creating an Om component. Part 2.]]
- [[http://www.slideshare.net/borgesleonardo/high-performance-web-apps-in-om-react-and-clojurescript][High performance web apps in Om and React]]
- [[http://blog.tarn-vedra.de/posts/om-removing-boilerplate.html][Removing bloilerplate]]
** riemann
Riemann aggregates events from your servers and applications with a powerful stream processing language.[[http://kartar.net/2014/12/an-introduction-to-riemann/][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- [[https://dev.to/jorinvo/crux-as-general-purpose-database-kk3][Crux as General-Purpose Database]]
- [[https://juxt.pro/blog/posts/crux-tutorial-setup.html][Crux tutorial - Setup]]
- [[https://juxt.pro/blog/posts/crux-tutorial-await.html][Crux tutorial - Await transactions]]
- [[https://nextjournal.com/crux-tutorial/datalog-queries][Datalog Queries with Crux – Mercury Assignment]]
- [[https://github.com/acgollapalli/dataworks][Dataworks - Hot-swap API endpoints and stream processors]]
- [[https://martinfowler.com/articles/bitemporal-history.html][Bitemporal History]]
** reitit
Fast data-driven router for Clojure(Script) - https://metosin.github.io/reitit/- [[https://www.metosin.fi/blog/reitit/][Reitit, Data-Driven Routing with Clojure(Script)]]
- [[https://www.metosin.fi/blog/reitit-ring/][Data-Driven Ring with Reitit]]
** neanderthal
Fast native-speed matrix and linear algebra in Clojure - https://neanderthal.uncomplicate.org/Books from the author:
- [[https://aiprobook.com/deep-learning-for-programmers/][Deep Learning for Programmers]]
- [[https://aiprobook.com/numerical-linear-algebra-for-programmers/][Numerical Linear Algebra for Programmers]]
** 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:- [[https://github.com/walmartlabs/lacinia][lacinia]] GraphQL implementation in pure Clojure
- [[https://github.com/graphqlize/graphqlize][graphqlize]] GraphQL API instantly from Postgres and MySQL databases
** datalog
- [[http://www.learndatalogtoday.org/][Learn Datalog Today]] (actually nothing about clojure)
- [[https://juxt.pro/blog/datascript-dom][Datalog for trees in Clojure]] (practical use of datalog to match and extract information)
- [[https://github.com/tonsky/datascript][Datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS]]
- [[https://github.com/vvvvalvalval/datalog-rules][Datalog Rules - Utilities for managing Datalog rulesets from Clojure]]
- [[https://github.com/replikativ/datahike][Datahike - A durable datalog implementation]]
- [[https://www.youtube.com/watch?v=oo-7mN9WXTw][Domain modeling with datalog]] (why datalog is so cool!)
** my own (not that amazing ;) projects
Here is the list of my own (some of them forked...) projects that you might be interested in:- [[https://github.com/mbuczko/cerber-oauth2-provider][Clojure implementation of RFC 6749 OAuth 2.0 authorization framework]]
- [[https://github.com/mbuczko/cerber-roles][Role Based Access Control]]
- [[https://github.com/mbuczko/revolt][Revolt - your trampoline to Clojure dev toolbox]]
- [[https://github.com/mbuczko/revolt-edge][Sample use of Revolt library]]
- [[https://github.com/mbuczko/revolt-flyway-task][Flyway based migrations task for Revolt]]
- [[https://github.com/mbuczko/revolt-catapulte-task][JAR deployer / installer for Revolt]]
- [[https://github.com/mbuczko/clj-qrgen][QR generation with iCal scheme]]
- [[https://github.com/mbuczko/skalar][Image processing based on pooled GraphicsMagick sessions]]
- [[https://github.com/mbuczko/embodie][Fetching site-embedded data]]
- [[https://github.com/mbuczko/metrics-riemann-reporter][Reporting JMX metrics directly to riemann aggregator]]
- [[https://github.com/mbuczko/logback-riemann-appender][Logback riemann appender]]
- [[https://github.com/mbuczko/flux][A clojure client for SOLR with nice criteria DSL]]
- [[https://github.com/mbuczko/categorizer][Category tree made easy]]
- [[https://github.com/mbuczko/moderator][Fancy scoring of input data]]
- [[https://github.com/mbuczko/boot-ragtime][Ragtime migrations with Clojure Boot build tool]]
- [[https://github.com/mbuczko/boot-build-info][Boot task to generate build information]]
* Utilities
Utilities making development even more pleasant.- [[https://github.com/zcaudate/hara][General Purpose Utilities Library]]
- [[https://github.com/purnam/purnam][Language extensions for clojurescript]]
- [[https://github.com/zcaudate/vinyasa][Give your clojure workflow more flow]]
* Emacs
Emacs bits and pieces. Definitely worth checking out if you're addicted to this editor.- [[https://github.com/clojure-emacs/cider][Cider IDE that rocks!]]
- [[https://metaredux.com/posts/2019/10/05/hard-cider-project-specific-configuration.html][Hard CIDER: Project-specific Configuration]]
- [[https://github.com/clojure-emacs/clj-refactor.el][Collection of Clojure refactoring functions]]
- [[https://github.com/mbuczko/helm-clojuredocs][Help on clojuredocs.org]]
* Github
| Description | Link |
|------------------------------------------------------------------------------+----------------------------------------------------------|
| A community coding style guide | https://github.com/bbatsov/clojure-style-guide |
| This is the home of O'Reilly's Clojure Cookbook | https://github.com/clojure-cookbook/clojure-cookbook |
| Routing library for Ring | https://github.com/weavejester/compojure/wiki |
| Example project for Cljs/Om using Boot | https://github.com/Deraen/saapas |
| Clojure static page generation using boot | https://github.com/DanThiffault/boot-pages |
| Simple css/js asset fingerprinting for Boot | https://github.com/pointslope/boot-fingerprint |
| Init scheme with service supervision with Boot | https://github.com/danielsz/boot-runit |
| Compatibility layer with the environ library | https://github.com/danielsz/boot-environ |
| Database migrations with Ragtime using Boot | https://github.com/mbuczko/boot-ragtime |
| Your trampoline to Clojure dev toolbox | https://github.com/mbuczko/revolt |
| Clojure implementation of RFC 6749 OAuth 2.0 | https://github.com/mbuczko/cerber-oauth2-provider |
| Security library for Clojure | https://github.com/niwibe/buddy |
| Enlive/Enfocus style templating for Facebook's React | https://github.com/ckirkendall/kioo |
| Produce and consume JMX beans from Clojure | https://github.com/clojure/java.jmx |
| Clojure library for using SQL | https://github.com/krisajenkins/yesql |
| Source code documentation tool | https://github.com/gdeer81/marginalia |
| Clojure documentation tool | https://github.com/weavejester/codox |
| Functions with parameter pattern matching like erlang | https://github.com/killme2008/defun |
| A simple static site generator written in Clojure | https://github.com/lacarmen/cryogen |
| Data processing on Hadoop without the hassle | https://github.com/nathanmarz/cascalog |
| Reducers, but for parallel execution | https://github.com/aphyr/tesser |
| Transducers and reducing functions for Clojure(Script) | https://github.com/cgrand/xforms |
| A thin facade around Coda Hale's metrics library | https://github.com/sjl/metrics-clojure/ |
| Multi-class Naive Bayes Classifier | https://github.com/danielfm/judgr |
| Auth library for Clojure and Ring based on OAuth2 | https://github.com/pelle/clauth |
| Managed lifecycle of stateful objects in Clojure | https://github.com/stuartsierra/component |
| State management with a `java.io.Closeable` map | https://github.com/piotr-yuxuan/closeable-map |
| Event-driven programming and stream processing toolkit | https://github.com/clojurewerkz/meltdown |
| Understanding Clojure Sequences | https://github.com/JulesGosnell/seqspert |
| Erlang-style supervisor error handling for Clojure | https://github.com/MichaelDrogalis/dire |
| A validation DSL for Clojure & Clojurescript applications | https://github.com/leonardoborges/bouncer |
| Simple scraper and tokenizer | https://github.com/miles-no/MilesCampHackatonScraper |
| Clojure template for REST web services in the style of MixRadio | https://github.com/mixradio/mr-clojure |
| Display ghostly yesql defqueries inline, in Emacs | https://github.com/magnars/yesql-ghosts |
| A lightweight ClojureScript abstraction over ReactJS | https://github.com/levand/quiescent |
| Clojure file and directory watcher | https://github.com/wkf/hawk |
| Types again :) | https://github.com/arrdem/guten-tag |
| ClojureScript interface to local/session storage | https://github.com/funcool/hodgepodge |
| A tiny Clojure routing library for Ring | https://github.com/taylorlapeyre/nav |
| Minimal React wrapper for ClojureScript | https://github.com/tonsky/rum |
| A Ragtime extention for ArangoDB | https://github.com/deusdat/waller |
| Contracts programming with Clojure | https://github.com/fogus/trammel |
| Threadpool tools for Clojure | https://github.com/TheClimateCorporation/claypoole |
| Utility library to write microservices | https://github.com/zalando-stups/friboo |
| Experimental multilenses | https://github.com/ctford/traversy |
| A Constraint Programming library for Clojure | https://github.com/aengelberg/loco |
| Logo in Clojure | https://github.com/google/clojure-turtle |
| Elegant and efficient remote data access | https://github.com/kachayev/muse |
| Geometry toolkit for Clojure/ClojureScript | https://github.com/thi-ng/geom |
| DSL for building client to remote service APIs | https://github.com/outpace/remote |
| Trace-oriented debugging tools for Clojure | https://github.com/dgrnbrg/spyscope |
| New dependencies in REPL on the fly | https://github.com/zcaudate/vinyasa |
| Priority map | https://github.com/clojure/data.priority-map |
| Durable queue implementation | https://github.com/layerware/pgqueue |
| Durable reference types for Clojure | https://github.com/riverford/durable-ref |
| A really lightweight Clojure scheduler | https://github.com/jarohen/chime |
| Interface to the Pikaday js date-picker | https://github.com/timgilbert/cljs-pikaday |
| REPL functions to support the reloaded workflow | https://github.com/weavejester/reloaded.repl |
| Control throughput of fn calls and async channels | https://github.com/brunoV/throttler |
| Command-line args parsing and validation with malli schemas | https://github.com/piotr-yuxuan/malli-cli |
| Managing Clojure app state since (reset) | https://github.com/tolitius/mount |
| "Smarter" threading macros | https://github.com/maitria/packthread |
| Human dates | https://github.com/philjackson/wordy-date |
| A routing library | https://github.com/Hendrick/avenue |
| Syntax threading macros for Clojure | https://github.com/LonoCloud/synthread |
| Fast clojure json parser | https://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 streams | https://github.com/ane/vigil |
| Bidirectional data-driven request routing | https://github.com/aroemers/sibiro |
| Library agnostic way to stub HTTP endpoints | https://github.com/johanhaleby/stub-http |
| Query your maps as in Datalog | https://github.com/alandipert/intension |
| A feature flag library for Clojure | https://github.com/plexus/pennon |
| Clojure Error Message Catalog | https://github.com/yogthos/clojure-error-message-catalog |
| Functional, persistent, performant data structure | https://github.com/datacrypt-project/hitchhiker-tree |
| Forward-chaining rules in Clojure | https://github.com/rbrush/clara-rules |
| Monadic error handling | https://github.com/adambard/failjure |
| Visualization of Clojure data structures using Graphviz | https://github.com/walmartlabs/datascope |
| Clojure wrapper over failsafe | https://github.com/sunng87/diehard/ |
| One Time Password (TOTP and HOTP) for Clojure | https://github.com/suvash/one-time |
| Mocks, stubs, and spies for Clojure protocols | https://github.com/bguthrie/shrubbery |
| Failure handling with Manifold | https://github.com/tulos/manifail |
| A gentle touch of Clojure to Hashicorp's Consul | https://github.com/tolitius/envoy |
| A lightweight library of useful Clojure functions | https://github.com/weavejester/medley |
| Meldable priority queues in Clojure | https://github.com/michalmarczyk/maxiphobe |
| XChart wrapper for Clojure | https://github.com/hyPiRion/clj-xchart |
| Convenience features making Clojure even sweeter | https://github.com/cloojure/tupelo |
| Elasticsearch client for Clojure | https://github.com/mpenet/spandex |
| A functional Clojure progress bar for the CLI | https://github.com/weavejester/progrock |
| Hazelcast bells and whistles under the belt | https://github.com/tolitius/chazel |
| Clojure library for working with the GH v3 API | https://github.com/irresponsible/tentacles/ |
| Reactive Streams for Clojure(Script) | https://github.com/funcool/beicon |
| Clojure/ClojureScript URI library | https://github.com/lambdaisland/uri |
| Command-line interfaces using only docstring | https://github.com/carocad/docopt.clj |
| Rewrite Clojure Code and EDN | https://github.com/xsc/rewrite-clj |
| Fast Clojure Matrix Library | https://github.com/uncomplicate/neanderthal |
| Bidirectional Ring router. Rails inspired. | https://github.com/darkleaf/router |
| Clojure Test Fixtures & Datasources | https://github.com/stylefruits/fixpoint |
| Evaluating composable lang rules on input strings | https://github.com/dpom/clj-duckling |
| Re-frame with DataScript as a data storage | https://github.com/denistakeda/data-frame |
| Http API format negotiation, encoding and decoding | https://github.com/metosin/muuntaja |
| A remote (CQRS) API library for Clojure | https://github.com/metosin/kekkonen |
| Ring async Server-Sent Events handler | https://github.com/bobby/ring-sse |
| General-purpose ACME client | https://github.com/danielsz/certificaat |
| Functional JVM bytecode generation for Clojure | https://github.com/jgpc42/insn |
| All functions deserve to be measured | https://github.com/tolitius/calip |
| A trace window for re-frame | https://github.com/Day8/re-frame-trace |
| Add structure to a reagent/re-frame app | https://github.com/gadfly361/re-surface |
| A queue which schedules fairly by key | https://github.com/acrolinx/clj-queue-by |
| Jetty adapter enhanced with servlet-mapping support | https://github.com/jiacai2050/ring-jetty-servlet-adapter |
| Accessing HDFS, S3, SFTP and other fs via a single API | https://github.com/oshyshko/uio |
| AWS pure Clojure, spec-based implementation | https://github.com/portkey-cloud/aws-clj-sdk |
| An isolation framework for Clojure/ClojureScript | https://github.com/metametadata/clj-fakes |
| Reformat Clojure(Script) source code and s-expressions | https://github.com/kkinnear/zprint |
| Lean Hash Array Mapped Trie (Lean Map) | https://github.com/bendyworks/lean-map |
| Succint and readable integration tests over RESTful APIs | https://github.com/facundoolano/restpect |
| Fast Idiomatic Pretty Printer | https://github.com/brandonbloom/fipp |
| Graphing tool for Clojure built with interactivity in mind | https://github.com/hswick/jutsu |
| REPL-based data visualization in the browser | https://github.com/yieldbot/vizard |
| Graphql client for re-frame | https://github.com/oliyh/re-graph |
| A library of parallel-enabled Clojure functions | https://github.com/reborg/parallel |
| Structural diffs for clojure source code | https://github.com/ladderlife/autochrome |
| Homoglyph/IDN homograph detection/handling | https://github.com/mpenet/thorn |
| A fast data-driven router for Clojure(Script) | https://github.com/metosin/reitit |
| A durable datalog impl adaptable for distribution | https://github.com/replikativ/datahike |
| An all-purpose Clojure graph data structure | https://github.com/Engelberg/ubergraph |
| Clojure(Script) library for stubs, spies and mocks | https://github.com/alexanderjamesking/spy |
| Add function args and return Spec checks via assertions | https://github.com/Provisdom/defn-spec |
| Clojure library for fast JSON encoding and decoding | https://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 library | https://github.com/igrishaev/mockery |
| Configuration from various sources | https://github.com/sunng87/stavka |
| Measure object memory consumption from Clojure | https://github.com/clojure-goes-fast/clj-memory-meter |
| Convert REPL interactions into example-based tests | https://github.com/cognitect-labs/transcriptor |
| Lein-jlink | https://github.com/sunng87/lein-jlink |
| Programmatic access to AWS services | https://github.com/cognitect-labs/aws-api |
| Zero-configuration command-line HTTP files server | https://github.com/kachayev/nasus |
| Clojure/ClojureScript data transformation library | https://github.com/noprompt/meander |
| Content-addressable storage | https://github.com/greglook/blocks |
| Automatic generative testing, side effect detection | https://github.com/gnl/ghostwheel |
| A minimal and opinionated linter for Clojure code | https://github.com/borkdude/clj-kondo |
| Aspect-oriented Clojure(script) def-forms | https://github.com/galdre/morphe |
| Chronicle Queue helpers | https://github.com/mpenet/tape |
| String mangling library for Clojure | https://github.com/randomseed-io/smangler |
| Binary byte buffer manipulation reminiscent of C | https://github.com/sonwh98/voodoo |
| cond that supports :let clauses and other conveniences | https://github.com/engelberg/better-cond |
| Nippy extension to add ability to freeze and thaw fns | https://github.com/redplanetlabs/nippy-serializable-fns |
| A replacement for Clojure's proxy | https://github.com/redplanetlabs/proxy-plus |
| A library for accessing the OpenCage Geocoding API | https://github.com/sgsfak/clj-ocgeo |
| Save/Load Extensions for Neanderthal | https://github.com/katox/neanderthal-stick |
| Utility functions for working with Redis streams in carmine | https://github.com/oliyh/carmine-streams |
| Functions as Data | https://github.com/dvlopt/fdat.cljc |
| Next generation high performance Clojure toolkit | https://github.com/cnuernber/dtype-next |
| Embeddable Clojure profiler | https://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 expressions | https://github.com/lambdaisland/regal |
| Background job queue on top of PostgreSQL | https://github.com/metametadata/byplay |
| Implementation of DataLoader in Clojure | https://github.com/oliyh/superlifter |
| Datahike with Firebase as data storage | https://github.com/alekcz/datahike-firebase |
| A data-driven, reagent-wrapper for RoughJS | https://github.com/beders/rough-cljs |
| Union Types for clj(s) based on clojure.spec | https://github.com/lambdaisland/uniontypes |
| Native fast-starting Clojure scripting environment | https://github.com/borkdude/babashka |
| Utilities for managing Datalog rulesets from Clojure | https://github.com/vvvvalvalval/datalog-rules |
| Graph based visualization tool for re-frame event chains | https://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/Script | https://github.com/tonsky/tongue |
| RCF – a REPL-first, async test macro for Clojure/Script | https://github.com/hyperfiddle/rcf |
| Matcher combinator to compare nested data structures | https://github.com/nubank/matcher-combinators |
| Unorthodox control flow, for Clojurists | https://github.com/aphyr/dom-top |
| Zero dependency efficient read/write of json and csv data | https://github.com/cnuernber/charred |
| A Clojure(Script) & babashka library for dealing with time | https://github.com/juxt/tick |
| Efficient JavaScript object interop via idiomatic ClojureScript | https://github.com/mfikes/cljs-bean |
| Facilitates calling of client-side functions from server-side generated HTML | https://github.com/thheller/shadow-graft |
| An extremely lightweight fault tolerance library for Clojure | https://github.com/potetm/fusebox |
* Social Media
Because we love them :)
** YouTube
Must-have YouTube subscriptions:- ClojureTV (https://www.youtube.com/user/ClojureTV)
- Metosin (https://www.youtube.com/channel/UC1lFJanm5Wp6IpNk-2C1Sxw)
- :clojureD (https://www.youtube.com/channel/UCOTrRnxBOllb9UHLuap_lPg)
- StrangeLoop (https://www.youtube.com/channel/UC_QIfHvN9auy2CoOdSfMWDw)
- PolyConf (https://www.youtube.com/user/polyconf)
People to follow, writing about clojure/lisp:- @richhickey (https://twitter.com/richhickey)
- @bbatsov (https://twitter.com/bbatsov)
- @cognitect (https://twitter.com/cognitect)
- @adzerktech (https://twitter.com/adzerktech)
- @alandipert (https://twitter.com/alandipert)
- @michaniskin (https://twitter.com/michaniskin)
- @stuartsierra (https://twitter.com/stuartsierra)
- @weavejester (https://twitter.com/weavejester)
- @stuarthalloway (https://twitter.com/stuarthalloway)
- @juliansgamble (https://twitter.com/juliansgamble)
- @swannodette (https://twitter.com/swannodette)
- @jwiegley (https://twitter.com/jwiegley)
- @ClojureFact (https://twitter.com/ClojureFact)
- @ClojureRecipes (https://twitter.com/ClojureRecipes)
- @ClojureWerkz (https://twitter.com/ClojureWerkz)
- @planetclojure (https://twitter.com/planetclojure)
- @thelittlelisper (https://twitter.com/thelittlelisper)
- @pithyless (https://twitter.com/pithyless)
- @haksior (https://twitter.com/haksior)
- @borkdude (https://twitter.com/borkdude)