{"id":56487,"date":"2016-05-29T15:00:52","date_gmt":"2016-05-29T12:00:52","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=56487"},"modified":"2016-05-20T18:15:45","modified_gmt":"2016-05-20T15:15:45","slug":"top-100-clojure-libraries-2016","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html","title":{"rendered":"The Top 100 Clojure Libraries in 2016"},"content":{"rendered":"<p><strong>What are the top Clojure libraries used by projects on Github? Based on analyzing over 30,000 leiningen dependencies<\/strong><\/p>\n<p>One of the most helpful things to look into when choosing which libraries to include in your project is just how popular they are. While actual functionality is the main issue at hand, getting a sense of which libraries are used the most for the problem you\u2019re trying to solve is a quick hack to make sure you\u2019re on track.<\/p>\n<p>Following our <a href=\"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-java-libraries-2016-analyzing-47251-dependencies.html\" target=\"_blank\">recent research around Java<\/a>, we\u2019ve looked into the 9,208 most popular Clojure repositories on Github (out of 15,214) and pulled out their project.clj <a href=\"http:\/\/leiningen.org\/\" target=\"_blank\">leiningen<\/a> dependencies. This left us with over 30,000 data points on 3,790 different dependencies. From <a href=\"https:\/\/twitter.com\/richhickey\" target=\"_blank\">Rich Hickey<\/a>, to other top community contributors, we\u2019ve crunched it all to create a top 100 list.<\/p>\n<p>Let\u2019s take a closer look at the results.<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">New Post: The Top 100 Clojure Libraries in 2016 &#8211; After Analyzing 30,000+ Dependencies <a href=\"https:\/\/t.co\/NdJoD8QjdG\">https:\/\/t.co\/NdJoD8QjdG<\/a> <a href=\"https:\/\/t.co\/nqMluErwXu\">pic.twitter.com\/nqMluErwXu<\/a><\/p>\n<p>&mdash; OverOps (@overopshq) <a href=\"https:\/\/twitter.com\/overopshq\/status\/733384451921739778?ref_src=twsrc%5Etfw\">May 19, 2016<\/a><\/p>\n<\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<h2>The Top 20 Clojure Libraries in 2016<\/h2>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/clojure.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-56497\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/clojure.png\" alt=\"clojure\" width=\"779\" height=\"474\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/clojure.png 779w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/clojure-300x183.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/clojure-768x467.png 768w\" sizes=\"(max-width: 779px) 100vw, 779px\" \/><\/a><br \/>\n<em>The full list is available <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/19d81B1ZzrPxPkJJDTk1YEoco2r7oqpBE47DRguFXqVE\/edit#gid=0\" target=\"_blank\">right here<\/a><\/em><\/p>\n<h2>The Top 5 Picks<\/h2>\n<p><strong>#0 Ring<\/strong> \u2013 While it\u2019s not actually on top of the chart, this is only because there are quite a few ways to use <a href=\"https:\/\/github.com\/ring-clojure\/ring\" target=\"_blank\">Ring<\/a> to build web applications. If we were to combine them all, they\u2019d go on <strong>#1<\/strong>. Which, leads us to Compojure.<\/p>\n<p><strong>#1 Compojure<\/strong> <strong>\u2013<\/strong> Once you have Ring set up, and you\u2019re looking into a routing library, <a href=\"https:\/\/github.com\/weavejester\/compojure\" target=\"_blank\">Compojure<\/a> is the undisputed champion with a dependency in 14.7% of the projects we looked into.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p><strong>#2 clojurescript<\/strong> <strong>\u2013<\/strong> 12.4% of Clojure projects actually use <a href=\"https:\/\/github.com\/clojure\/clojurescript\" target=\"_blank\">clojurescript<\/a>, the Clojure to Javascript compiler. Because\u2026 well\u2026 it\u2019s not Javascript. Enough said. 17 of the top 100 libraries are related to clojurescript.<\/p>\n<p><strong>#3 core.async<\/strong> <strong>\u2013<\/strong> The library designed to support async programming in Clojure is used by 9.4% of the repositories tested. <a href=\"https:\/\/github.com\/clojure\/core.async\" target=\"_blank\">core.async<\/a> is one of the main reasons to choose Clojure.<\/p>\n<p><strong>#4 clojure-contrib<\/strong> <strong>\u2013<\/strong> The <a href=\"http:\/\/dev.clojure.org\/display\/community\/Where+Did+Clojure.Contrib+Go\" target=\"_blank\">deprecated<\/a> clojure-contrib is still used by 8.3% of Github\u2019s top Clojure projects. Today it is no longer being maintained since Clojure now has a set of separate libraries for each functionality that contrib used to include, rather than its previous monolithic nature. Many of which are included in this top 100 list, under org.clojure.<\/p>\n<p><strong>#5 clj-http (and clj-time at #8) \u2013<\/strong> Similarly to the <a href=\"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-java-libraries-2016-analyzing-47251-dependencies.html\" target=\"_blank\">top libraries in Java<\/a>, <a href=\"https:\/\/github.com\/dakrone\/clj-http\" target=\"_blank\">clj-http<\/a>, the wrapper for Apache HttpComponent, and <a href=\"https:\/\/github.com\/clj-time\/clj-time\" target=\"_blank\">clj-time<\/a>, the wrapper for joda-time, take the spots at the top.<\/p>\n<h2>Additional Highlights from the Top 20 List<\/h2>\n<p><strong>Cheshire is #1 for JSON, used in 6.5% of the projects<\/strong> \u2013 If you want to parse JSON, or just like Alice in Wonderland references, <a href=\"https:\/\/github.com\/dakrone\/cheshire\" target=\"_blank\">cheshire<\/a> is the top pick for you. Other JSON libraries that made it to the list are <a href=\"https:\/\/github.com\/clojure\/data.json\" target=\"_blank\">org.clojure\/data.json<\/a> at <strong>#11<\/strong>, <a href=\"https:\/\/github.com\/ring-clojure\/ring-json\" target=\"_blank\">ring-clojure\/ring-json<\/a> at <strong>#24<\/strong> and <a href=\"https:\/\/github.com\/mmcgrana\/clj-json\" target=\"_blank\">clj-json<\/a>, the Jackson wrapper, at <strong>#92<\/strong>.<\/p>\n<p><strong>Rendering HTML in Clojure? Use Hiccup<\/strong> \u2013 Not much of a wiggle room here. <a href=\"https:\/\/github.com\/weavejester\/hiccup\" target=\"_blank\">Hiccup<\/a> at <strong>#6<\/strong> is the only way to go from the top 100 list.<\/p>\n<p><strong>Enlive<\/strong> \u2013 A templating library for Clojure. <a href=\"https:\/\/github.com\/cgrand\/enlive\">Enlive<\/a> lets you create HTML templates and manipulate them using CSS like selectors.<\/p>\n<p><strong>Environ<\/strong> \u2013 A super simple way to manage environment variables.Fun fact: Compojure, Ring, Hiccup and <a href=\"https:\/\/github.com\/weavejester\/environ\">Environ<\/a>, are all developed by <a href=\"https:\/\/twitter.com\/weavejester\">James Reeves<\/a>, aka <a href=\"https:\/\/github.com\/weavejester\">weavejester<\/a>.<\/p>\n<h2>A Few More Top 100 Entries Worth Mentioning<\/h2>\n<p><strong>#21 <a href=\"https:\/\/reagent-project.github.io\/\">Reagent<\/a><\/strong> <strong>\u2013<\/strong> A minimalistic ClojureScript interface to <a href=\"https:\/\/facebook.github.io\/react\/\">React.js<\/a>. <a href=\"https:\/\/github.com\/omcljs\/om\">Om<\/a>\u2019s library in at <strong>#32<\/strong>.<\/p>\n<p><strong>#40 <a href=\"http:\/\/overtone.github.io\/\">overtone<\/a> \u2013<\/strong> Collaborative programmable music. Yes.<\/p>\n<p><strong>#50 <a href=\"https:\/\/github.com\/scgilardi\/slingshot\">slingshot<\/a> \u2013<\/strong> Enhanced try and throw for Clojure leveraging Clojure\u2019s capabilities. Throw unthrowable things.<\/p>\n<p><strong>#64 <a href=\"https:\/\/github.com\/magnars\/prone\">prone<\/a> \u2013<\/strong> Better exception reporting for Ring.<\/p>\n<h2>Hello Clojure<\/h2>\n<p>At <a href=\"http:\/\/www.takipi.com\">Takipi<\/a>, we\u2019ve just recently added support for Clojure, and are excited to see more and more Clojure users coming onboard. Takipi is Java micro-agent that lets you know when and why code breaks in production. It shows you the complete source, call stack and state (variable values at moment of error) for every exception and log error or warning.<\/p>\n<p>It\u2019s time to look beyond log files, <a href=\"http:\/\/land.takipi.com\/why-takipi\/\">check it out<\/a>.<\/p>\n<p><a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/tale2-1.png\"><img decoding=\"async\" class=\"aligncenter wp-image-56498 size-large\" src=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/tale2-1-1024x438.png\" alt=\"tale2\" width=\"620\" height=\"265\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/tale2-1-1024x438.png 1024w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/tale2-1-300x128.png 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/tale2-1-768x329.png 768w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2016\/05\/tale2-1.png 1455w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p><em>Takipi\u2019s Error Analysis Dashboard \u2013 variable values overlaid on the actual code at every frame in the stack \u2013 <a href=\"http:\/\/demo.takipi.com\/\">See a live demo<\/a><\/em><\/p>\n<h2>The Groundwork<\/h2>\n<p>For starters we\u2019ve pulled out the top Clojure projects from Github by stars. On the second step we extracted the ones who use leiningen, and got 9,208 repositories. Now that we had thousands of project.clj at hand, we pulled out all the dependencies in them, which got us to 30,019 data points, about 3,790 unique libraries.<\/p>\n<p>To make the analysis easier, we\u2019ve processed the stats for the top 100 libraries by the number of Github projects they appear in. The full list is <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/19d81B1ZzrPxPkJJDTk1YEoco2r7oqpBE47DRguFXqVE\/edit#gid=0\">available right here<\/a> and you\u2019re welcome to take a look and make sure we didn\u2019t miss any interesting insights!<\/p>\n<h2>Final Thoughts<\/h2>\n<p>Clojure will soon celebrate its 10th birthday and it\u2019s amazing to see how the community, the libraries, and the tooling ecosystem has grown around it. Hundreds of companies are using Clojure in production and we can\u2019t wait to see where it goes next.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/blog.takipi.com\/the-top-100-clojure-libraries-in-2016-after-analyzing-30000-dependencies\/\">The Top 100 Clojure Libraries in 2016<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/join-us\/jcg\/\">JCG partner<\/a>\u00a0Alex Zhitnitsky at the <a href=\"http:\/\/blog.takipi.com\/\">Takipi <\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>What are the top Clojure libraries used by projects on Github? Based on analyzing over 30,000 leiningen dependencies One of the most helpful things to look into when choosing which libraries to include in your project is just how popular they are. While actual functionality is the main issue at hand, getting a sense of &hellip;<\/p>\n","protected":false},"author":562,"featured_media":93,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"class_list":["post-56487","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-clojure"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Top 100 Clojure Libraries in 2016 - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"What are the top Clojure libraries used by projects on Github? Based on analyzing over 30,000 leiningen dependencies One of the most helpful things to\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Top 100 Clojure Libraries in 2016 - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"What are the top Clojure libraries used by projects on Github? Based on analyzing over 30,000 leiningen dependencies One of the most helpful things to\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-29T12:00:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/clojure-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alex Zhitnitsky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@overopshq\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex Zhitnitsky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html\"},\"author\":{\"name\":\"Alex Zhitnitsky\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/7cb10ac83aff923b5a76862069c27065\"},\"headline\":\"The Top 100 Clojure Libraries in 2016\",\"datePublished\":\"2016-05-29T12:00:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html\"},\"wordCount\":820,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/clojure-logo.jpg\",\"articleSection\":[\"Clojure\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html\",\"name\":\"The Top 100 Clojure Libraries in 2016 - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/clojure-logo.jpg\",\"datePublished\":\"2016-05-29T12:00:52+00:00\",\"description\":\"What are the top Clojure libraries used by projects on Github? Based on analyzing over 30,000 leiningen dependencies One of the most helpful things to\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/clojure-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/clojure-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/05\\\/top-100-clojure-libraries-2016.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Languages\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/jvm-languages\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Clojure\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/jvm-languages\\\/clojure\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"The Top 100 Clojure Libraries in 2016\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/7cb10ac83aff923b5a76862069c27065\",\"name\":\"Alex Zhitnitsky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8ce5d7ecc8c7467680ad01ee6a39bdbf9a99d62d8611c243669340e8f7405466?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8ce5d7ecc8c7467680ad01ee6a39bdbf9a99d62d8611c243669340e8f7405466?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8ce5d7ecc8c7467680ad01ee6a39bdbf9a99d62d8611c243669340e8f7405466?s=96&d=mm&r=g\",\"caption\":\"Alex Zhitnitsky\"},\"description\":\"Alex is an engineer working with OverOps on a mission to help Java and Scala developers solve bugs in production and rid the world of buggy software. Passionate about all things tech, he is also the co-founder &amp; lead of GDG Haifa, a local developer group. Alex holds a B.Sc from the Technion, Israel's Institute of Technology.\",\"sameAs\":[\"http:\\\/\\\/www.takipi.com\\\/\",\"https:\\\/\\\/x.com\\\/overopshq\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/alex-zhitnitsky\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Top 100 Clojure Libraries in 2016 - Java Code Geeks","description":"What are the top Clojure libraries used by projects on Github? Based on analyzing over 30,000 leiningen dependencies One of the most helpful things to","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html","og_locale":"en_US","og_type":"article","og_title":"The Top 100 Clojure Libraries in 2016 - Java Code Geeks","og_description":"What are the top Clojure libraries used by projects on Github? Based on analyzing over 30,000 leiningen dependencies One of the most helpful things to","og_url":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2016-05-29T12:00:52+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/clojure-logo.jpg","type":"image\/jpeg"}],"author":"Alex Zhitnitsky","twitter_card":"summary_large_image","twitter_creator":"@overopshq","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Alex Zhitnitsky","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html"},"author":{"name":"Alex Zhitnitsky","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/7cb10ac83aff923b5a76862069c27065"},"headline":"The Top 100 Clojure Libraries in 2016","datePublished":"2016-05-29T12:00:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html"},"wordCount":820,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/clojure-logo.jpg","articleSection":["Clojure"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html","url":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html","name":"The Top 100 Clojure Libraries in 2016 - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/clojure-logo.jpg","datePublished":"2016-05-29T12:00:52+00:00","description":"What are the top Clojure libraries used by projects on Github? Based on analyzing over 30,000 leiningen dependencies One of the most helpful things to","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/clojure-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/clojure-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2016\/05\/top-100-clojure-libraries-2016.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"JVM Languages","item":"https:\/\/www.javacodegeeks.com\/category\/jvm-languages"},{"@type":"ListItem","position":3,"name":"Clojure","item":"https:\/\/www.javacodegeeks.com\/category\/jvm-languages\/clojure"},{"@type":"ListItem","position":4,"name":"The Top 100 Clojure Libraries in 2016"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/7cb10ac83aff923b5a76862069c27065","name":"Alex Zhitnitsky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8ce5d7ecc8c7467680ad01ee6a39bdbf9a99d62d8611c243669340e8f7405466?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8ce5d7ecc8c7467680ad01ee6a39bdbf9a99d62d8611c243669340e8f7405466?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8ce5d7ecc8c7467680ad01ee6a39bdbf9a99d62d8611c243669340e8f7405466?s=96&d=mm&r=g","caption":"Alex Zhitnitsky"},"description":"Alex is an engineer working with OverOps on a mission to help Java and Scala developers solve bugs in production and rid the world of buggy software. Passionate about all things tech, he is also the co-founder &amp; lead of GDG Haifa, a local developer group. Alex holds a B.Sc from the Technion, Israel's Institute of Technology.","sameAs":["http:\/\/www.takipi.com\/","https:\/\/x.com\/overopshq"],"url":"https:\/\/www.javacodegeeks.com\/author\/alex-zhitnitsky"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/56487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/562"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=56487"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/56487\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/93"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=56487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=56487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=56487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}