Fork me on GitHub

@seancorfield yeah, general, http client, json, jdbc, etc..


@lockdown- clj-http, cheshire (json), org.clojure/java.jdbc...


For json there's a Contrib library too, org.clojure/data.json which is fine for lightweight JSON stuff but cheshire is the Rolls-Royce of JSON libraries 🙂


And, to some extent, clj-http and cheshire are far more than wrappers.


These are all the Contrib libraries which are not exactly a "standard library" but they're all covered by the Clojure Contributors' Agreement and JIRA process.


Some are less well-maintained than others, and there are some community libraries (like cheshire) that far outstrip their Contrib sibling.


You might also find useful since it lists the most referenced projects.


Although that lists clj-time as one of the top libraries -- wrapping Joda Time -- but if you're on Java 8 or later, I'd strongly recommend using Java Time instead, either natively or via (it takes a while for the community to change direction on stuff like this).


ring as an abstraction over http servers has to be pretty pervasive - probably has more external software built on top of it than any other api wrapper, and is a good example of when wrapping is a good idea (where other wrappers, including clj-time, I'd argue exist for aesthetic reasons (people think interop looks ugly) as much as usefulness)


Interop is a bit of a nuisance when it comes to sharing code between JavaScript and Java too.


right, but clj-time (and other wrappers I am thinking of) don't even try to do something like that


I'm not saying avoiding interop is bad, just that it isn't enough on its own to justify a library


Agreed. There is a cljs-time that makes it somewhat worth it, but it doesn’t go far enough so I end up with conditional readers in too many places anyway.


I'm trying to learn Clojure and follow these instructions: I'm stuck at step 4, I get :