The GHTorrent project provides the following services to interested researchers and third parties:
- Querying MongoDB programmatically
- Querying MySQL through a web interface
- Querying MySQL programmatically
- Streaming of entries in MongoDB and MySQL
The services are in kind and do not entail any quality or availability guarantee .
All services are offered over SSH tunnelling. See at the page of each individual service for connection details.
To obtain access to any of the services, add your public SSH key
~/.ssh/id_rsa.pub), using a pull request, to
To create a public/private key pair, use
ssh-keygen. Here are some hints on
how to generate GHTorrent compatible SSH keys:
On Mac or Linux: You can use the distribution provided
ssh-keygencommand and it should work fine.
On Windows: Keys generated with the popular Putty program cannot be used by GHTorrent. Please use CygWin or an equivalent environment to install OpenSSH and use the
ssh-keygencommand as provided by OpenSSH to generate a GHTorrent compatible key.
To address GitHub's growth and GHTorrent's growing demands in API calls and the community's demand for better, more rich data, we need more GitHub API keys. We therefore kindly ask you to send us a GitHub API key (a “personal access token” as Github describes it).
The process to create a key is simple: First, go to the following URL (while logged in):
deselect all checkboxes except from
public_repo, set a token name and
click on "Generate Token".
Please note that it is possible to specify the maximum number of requests per hour that you would like to donate to GHTorrent. By default, GHTorrent uses the maximum allowed by GitHub (5k/hour), but if you are using the GitHub API for other projects/services, you might want to restrict this. A typical service like Travis only uses a few requests per hour, even on busy projects.
If you do not want us to use your key any more, do let us know. Do not just delete your key from GitHub as this will create holes in the data collection until we notice and remove your key. If this happens, we will also ban you indefinetely from the services (2 users have already been banned).
At the moment, this is a request in kind. If demand continues to grow and supply of keys is not enough to keep up, we might turn this into an obligatory step.