PageRank applied to the GitHub users/follows graph
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
project.clj Use Leiningen to manage dependencies. Dec 24, 2009

GitCred measures the 'cred' of GitHub users by applying the classic PageRank algorithm to the GitHub users/follows graph.

You can find the results of a recent GitCred computation here. These values are logarithmically scaled and normalized so that they correspond to the familiar Google PageRank measure.

Implementation Notes

GitCred itself is implemented in Clojure. It uses the clojure.contrib.http.agent library to fetch data from the GitHub users API, the FleetDB database to manage and persist this data, and the Jung graph library for PageRank computations.

Building GitCred

To run the GitCred calculations yourself, you will need Clojure, Clojure Contrib, FleetDB and its dependencies, and Jung2 and its dependencies. The easiest way to get these is with Leiningen:

$ lein deps

Then to start populating the user/follows FleetDB database, run:

$ clj bin/fetch.clj /path/to/data.fdb

If the data file does not exist it will be created for you. If it does exist the database will be loaded from it and fetching will continue from there.

Once you have some data in the database, you can generate results with:

$ clj bin/calc.clj /path/to/data.fdb /path/to/results.txt