Skip to content
Streaming parsers for the github archive.
JavaScript
Find file
Latest commit 876991b @mikeal change.
Failed to load latest commit information.
demo
tests
README.md
index.js
package.json

README.md

githubarchive -- Streaming parsers for the github archive.

Install

$ npm install githubarchive

Usage
var archive = require('githubarchive')
archive('http://data.githubarchive.org/2012-04-11-15.json.gz').languages(function (err, langs) {
  if (err) throw err
  console.log(langs) // a hash of the language count in that days activity
})

Or, alternatively from a file already downloaded.

var archive = require('githubarchive')
archive(path.join(__dirname, '2012-04-11-15.json.gz')).languages(function (err, langs) {
  if (err) throw err
  console.log(langs) // a hash of the language count in that days activity
})
More parsing.

I need more parsers! Pull requests welcome for anything even moderately useful, you can look at the code for the languages parser to see how simple it is, the JSON parsing is already taken care of.

In depth usage

All parsers are streams and expect to have a JSONStream piped to them. If you want to handle the acquisition yourself it would look like this.

request(url)
  .pipe(zlib.createGunzip())
  .pipe(jsonstream.parse())
  .pipe(githubarchive.languages(function (e, langs) {
    // do stuff
  }))

Or, alternatively from a file.

fs.createFileStream(path)
  .pipe(zlib.createGunzip())
  .pipe(jsonstream.parse())
  .pipe(githubarchive.languages(function (e, langs) {
    // do stuff
  }))
Something went wrong with that request. Please try again.