Skip to content
Juho Teperi edited this page May 15, 2015 · 33 revisions

Clojars provides a couple of data feeds which you might find useful.

API

Restful API provides few endpoints which can be used to retrieve data for users, groups and artifacts. The API supports multiple output formats, which can be selected using request’s Accept-header.

Formats

Format Content-type
JSON application/json
EDN application/edn
YAML application/x-yaml
Transit application/transit+json

Endpoints

User: https://clojars.org/api/users/{{user}}

https://clojars.org/api/users/deraen

Group’s artifacts: https://clojars.org/api/groups/{{group_name}}

https://clojars.org/api/groups/cljsjs

Artifact: https://clojars.org/api/artifacts/{{artifact_name}}

https://clojars.org/api/artifacts/leiningen

Artifact: https://clojars.org/api/artifacts/{{group_name}}/{{artifact_name}}

https://clojars.org/api/artifacts/cljsjs/react

curl -H "Accept: application/json" https://clojars.org/api/groups/pdfboxing

JSON search results

http://clojars.org/search?q=incanter&format=json

Tack &format=json on the end of the normal search URL to get a JSON version of the results.

List of POM files

http://clojars.org/repo/all-poms.txt
http://clojars.org/repo/all-poms.txt.gz

It looks like this:

./compojure/compojure/0.3.2/compojure-0.3.2.pom
./compojure/compojure/0.4.0-SNAPSHOT/compojure-0.4.0-20100308.145053-1.pom
./compojure/compojure/0.4.0-SNAPSHOT/compojure-0.4.0-20100308.145053-2.pom

List of jars and versions (in Leiningen syntax)

http://clojars.org/repo/all-jars.clj
http://clojars.org/repo/all-jars.clj.gz

It looks like this:

[compojure "0.3.2"]
[compojure "0.4.0-SNAPSHOT"]
[concurrent "1.3.4"]

Useful extracts from the POMs

http://clojars.org/repo/feed.clj.gz

The format is Clojure maps, one per line. It looks like this:

{:versions ["1.1.0" "1.1.0-SNAPSHOT"], :scm {:connection "scm:git:git://github.com/technomancy/swank-clojure.git", :developer-connection "scm:git:ssh://[email protected]/technomancy/swank-clojure.git", :tag "da6cb50944ba95940559a249c9659f71747312fb", :url "http://github.com/technomancy/swank-clojure"}, :description "Swank server connecting Clojure to Emacs SLIME", :artifact-id "swank-clojure", :group-id "swank-clojure"}
{:versions ["1.0.0-SNAPSHOT"], :scm {:connection "scm:git:git://github.com/timothypratley/tjpext.git", :developer-connection "scm:git:ssh://[email protected]/timothypratley/tjpext.git", :tag "0afe7de60218d2a7fbf5ddd510a3644350b06cf6", :url "http://github.com/timothypratley/tjpext"}, :description "TJP Extensions for Clojure", :artifact-id "tjpext", :group-id "tjpext"}

Lucene index of Maven artifacts

Generated by the Nexus Indexer. This should be usable by M2eclipse, Netbeans, Nexus etc for searching jars.

http://clojars.org/repo/.index/

See Sonatype’s blog post for more about how to use this.

Rsync the whole Classic repository

If you want an offline copy of the entire repository, you can grab it, or update it with rsync:

rsync -av clojars.org::clojars my-wonderful-copy-of-clojars

Note that the Classic repository should be a superset of the Releases repository.

Clone this wiki locally