In my travels I have collected a set of clojure libraries that I can rely on to help me solve problems effectively. These are my top 5.
- cheshire by @dakrone
- http-kit by @shenfeng and maintained by @ptaoussanis
- nippy by @ptaoussanis
- at-at by @samaaron, @rosejn, and @michaelneale
- charmander by @alekcz
1. cheshire
cheshire is a library for “JSON and JSON SMILE (binary json format) encoding/decoding”.
I’m currently using [cheshire "5.9.0"]
successfully in production.
My favourite thing about cheshire is that when parsing JSON it can automatically convert the keys to keywords in Clojure. I must admit I’ve abuse this feature in places where I probably shouldn’t have. Haha.
2. http-kit
http-kit is a “minimalist, event-driven, high-performance Clojure HTTP server/client library”.
I’m currently using [http-kit "2.4.0-alpha3"]
successfully in production. #cowboy
My favourite thing about http-kit is that the HTTP client is really straight forward. Checkout the docs, you’ll see what I mean.
3. nippy
nippy is a “high-performance serialization library for Clojure”.
I’m currently using [com.taoensso/nippy "2.14.0"]
successfully in production.
My favourite thing about nippy (besides it being rediculously fast) is that after processing large datasets I can save the object straight from memory directly to disk. This allows my application to pick up instantaneously from where it left off after a reboot.
4. at-at
at-at is an “ahead-of-time function scheduler”.
I’m currently using [overtone/at-at "1.2.0"]
successfully in production.
My favourite trick with at-at is to use it to schedule a ping every 5 minutes to keep my dynos awake. Obviously I use http-kit to do the ping.
5. charmander
charmander is a “set of libraries to make working with firebase easier in clojure”.
I’m currently using [alekcz/charmander "0.6.0"]
successfully in production.
My favourite thing about charmander is that it has been the project that has taught me the most about clojure. Writing it has been one heck of a journey.
May your build always pass.
Alex
This post is part of the “Advent of Parens”.