Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: 1c75997c8a
Fetching contributors…

Cannot retrieve contributors at this time

172 lines (137 sloc) 8.075 kB
<!DOCTYPE html>
<html lang="en" itemscope itemtype="http://schema.org/Article">
<head>
<title>GitHub Archive</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Ilya Grigorik">
<meta itemprop="name" content="Github Archive">
<meta name="description" content="GitHub Archive is a project to record the public GitHub timeline, archive it, and make it easily accessible for further analysis.">
<meta itemprop="image" content="http://gems.github.com/octocat.png" />
<link rel="shortcut icon" href="https://github.com/favicon.ico">
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<style type="text/css">
body {
padding-top: 20px;
padding-bottom: 40px;
}
.large {
font-size:16px;
line-height:25px;
}
</style>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<h1 style="margin-bottom:0.5em">
<img src="assets/img/github.png" style="vertical-align:middle;padding-right:0.25em" />
GitHub <span style="color:#c60000">Archive</span>
<span style="float:right; margin-top:0.25em">
<iframe src="http://ghbtns.com/github-btn.html?user=igrigorik&repo=githubarchive.org&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="110px" height="20px"></iframe>
<g:plusone size="medium"></g:plusone>
<a href="https://twitter.com/share" class="twitter-share-button" data-text="GitHub public timeline archive @ " data-related="igrigorik">Tweet</a>
</span>
</h1>
<div class="hero-unit" align="center">
<script src="http://www.stathat.com/javascripts/embed.js"></script>
<script>StatHatEmbed.render({s1: 'lxoC', w: 840, h: 260});</script>
</div>
<div class="row">
<div class="span12" >
<p style="font-size:20px;font-weight:200;line-height:27px;">
Open-source developers all over the world are working on millions of projects: writing code &amp; documentation, fixing &amp; submitting bugs, and so forth. GitHub Archive is a project to <strong>record</strong> the public GitHub timeline, <strong>archive it</strong>, and <strong>make it easily accessible</strong> for further analysis.
</p>
</div>
</div>
<hr />
<div class="row">
<div class="span12">
<span style="float:right"><script type="text/javascript" language="JavaScript" src="http://githubarchive.us5.list-manage.com/subscriber-count?b=39&amp;u=ab21678a-9ecc-4f33-97fe-20824a2c5fff&amp;id=0b82fec5c2"></script></span>
<p class="large">
<span>Looking for the <strong><a href="http://us5.campaign-archive2.com/home/?u=439aa16a39e4b10e0b65ff2ef&amp;id=0b82fec5c2">daily top new &amp; watched repository</a></strong> reports? <a href="http://githubarchive.us5.list-manage.com/subscribe?u=439aa16a39e4b10e0b65ff2ef&amp;id=0b82fec5c2">Sign up here</a>.
</p>
<hr />
<p class="large">GitHub provides <a href="http://developer.github.com/v3/activity/events/types/">18 event types</a>, which range from new commits and fork events, to opening new tickets, commenting, and adding members to a project. The activity is aggregated in hourly archives, which you can access with any HTTP client:</p>
<table class="table table-striped">
<thead>
<tr>
<th>Query</th>
<th>Command</th>
</tr>
</thead>
<tbody>
<tr>
<td>Activity for April 11, 2012 at 3PM PST</td>
<td><code>wget http://data.githubarchive.org/2012-04-11-15.json.gz</code></td>
</tr>
<tr>
<td>Activity for April 11, 2012</td>
<td><code>wget http://data.githubarchive.org/2012-04-11-{0..23}.json.gz</code></td>
</tr>
<tr>
<td>Activity for April 2012</td>
<td><code>wget http://data.githubarchive.org/2012-04-{01..31}-{0..23}.json.gz</code></td>
</tr>
</tbody>
</table>
<p><em>Note: timeline data is available starting March 11, 2012.</em></p>
<br />
<p class="large">Each archive contains a stream of JSON encoded GitHub events (<a href="https://gist.github.com/2017462">sample</a>), which you can process in any language. Ruby example:</p>
<script src="https://gist.github.com/2017506.js"></script>
<p><em>Note: <a href="https://gist.github.com/2426614">example script to import data into SQLite db</a></em></p>
</div>
</div>
<hr />
<div class="row">
<div class="span12">
<p class="large">GitHub Archive dataset is also available via <a href="https://developers.google.com/bigquery/">Google BigQuery</a>. The JSON data is <a href="https://github.com/igrigorik/githubarchive.org/blob/master/bigquery/schema.js">normalized</a> and is updated every hour, allowing you to run <a href="https://developers.google.com/bigquery/docs/query-reference">arbitrary queries</a> and analysis over the entire dataset in seconds. To get started, login into the BigQuery console (<a href="https://bigquery.cloud.google.com/">bigquery.cloud.google.com</a>), and add the project (name: "<b>githubarchive</b>"), or take a look at the 03/11..05/11 snapshot of the data under "publicdata:samples":</p>
<div class="hero-unit" align="center" style="padding:10px">
<img src="assets/img/bigquery-directions.png" />
</div>
<p class="large">An example query, for more check the <a href="https://github.com/igrigorik/githubarchive.org/tree/master/bigquery">repository readme</a>:</p>
<script src="https://gist.github.com/2521371.js?file=github-ruby.sql"></script>
</div>
</div>
<hr />
<footer>
<p>
<a href="http://www.igvita.com" rel="me" style="vertical-align:top; margin-right:1em"><strong>Ilya Grigorik</strong></a>
<span style="float:right;">
<iframe src="http://ghbtns.com/github-btn.html?user=igrigorik&type=follow&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="165px" height="20px" style="margin-right:1em"></iframe>
<a href="https://twitter.com/igrigorik" class="twitter-follow-button" data-show-count="true">Follow @igrigorik</a>
</span>
</p>
</footer>
</div> <!-- /container -->
</body>
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
<script>
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-71196-6']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript" src="http://include.reinvigorate.net/re_.js"></script>
<script type="text/javascript">
try {
reinvigorate.track("i9014-6t00e66443");
} catch(err) {}
</script>
</html>
Jump to Line
Something went wrong with that request. Please try again.