Skip to content

Latest commit

 

History

History
1013 lines (998 loc) · 34.3 KB

API-Docs.md

File metadata and controls

1013 lines (998 loc) · 34.3 KB

Using the API Endpoints

HTTP Method URL Action
GET /api/v1/user Get the current user
GET /api/v1/user/pending_submissions Get the current user's pending submissions
GET /api/v1/users Get a list of all users
GET /api/v1/users/<int:id> Get user with user_id == id
GET /api/v1/users/<int:id>/pending_submissions Get a user's (user_id == id) pending submissions
GET /api/v1/users/<int:id>/submissions Get a user's (user_id == id) submissions
GET /api/v1/projects Get a list of all projects
GET /api/v1/projects/newest Get a list of all projects, sorted by date added, newest first
GET /api/v1/projects/popular Get a list of all projects, sorted by score
GET /api/v1/projects/<int:id> Get project with project_id == id
GET /api/v1/categories Get a list of all categories
GET /api/v1/categories/<int:id> Get category and its projects with category_id == id
GET /api/v1/groups Get a list of all groups
GET /api/v1/groups/<int:id> Get group with group_id == id
GET /api/v1/users/<int:id>/comments Get comments made by user with user_id == id
GET /api/v1/projects/<int:id>/comments Get comments on project with project_id == id
POST /api/v1/projects/<int:id>/comments Create a comment on a project with current user as author
PUT /api/v1/comments/<int:id> Edit a comment with comment_id == id
DELETE /api/v1/comments/<int:id> Delete a comment with comment_id == id
POST /api/v1/likes/projects/<int:id> Like a project
DELETE /api/v1/likes/<int:id> Delete a like on a project with like_id == id
GET /api/v1/users/<int:id>/likes Get the likes for a user with user_id == id
GET /api/v1/projects/<int:id>/likes Get the likes for a project with project_id == id
POST /api/v1/projects Submit a new project
GET /api/v1/search?q="<word>" Search database for any projects, categories, or groups, and returns them all.
GET /api/v1/projects/<int:id>/graph Get a Vega object for a project's score graph
GET api/v1/groups/<int:page>/<int:per_page> Get a paginated list of groups.
GET api/v1/projects/<int:page>/<int:per_page> Get a paginate list of projects.

Example usage

Send a GET to /users when there are no users

Get back:

{
    "data": {
        "title": "There are no users."
    },
    "status": "fail"
}

Send a GET to /users with a user in the database.

{
    "data": [
        {
            "comments": [ ],
            "email": "[email protected]",
            "github_name": "cndreisbach",
            "github_url": "https://github.com/cndreisbach",
            "id": 1
        }
    ],
    "status": "success"
}

GET api/v1/projects/1/2

{
  "data": [
    {
     Project 1
    },
    {
     Project 2
    }
  ],
  "page": {
    "current_page": 1,
    "links": {
      "current_page": "http://localhost:5000/api/v1/projects/1/2",
      "first_page": "http://localhost:5000/api/v1/projects/1/2",
      "last_page": "http://localhost:5000/api/v1/projects/49/2",
      "next_pages": [
        "http://localhost:5000/api/v1/projects/2/2",
        "http://localhost:5000/api/v1/projects/3/2",
        "http://localhost:5000/api/v1/projects/4/2"
      ]
    },
    "per_page": 2,
    "total_pages": 49
  },
  "status": "success"
}

GET api/v1/projects/3/2

{
  "data": [
    {
     Project 1
    },
    {
     Project 2
    }
  ],
  "page": {
    "current_page": 3,
    "links": {
      "current_page": "http://localhost:5000/api/v1/projects/3/2",
      "first_page": "http://localhost:5000/api/v1/projects/1/2",
      "last_page": "http://localhost:5000/api/v1/projects/49/2",
      "next_pages": [
        "http://localhost:5000/api/v1/projects/4/2",
        "http://localhost:5000/api/v1/projects/5/2",
        "http://localhost:5000/api/v1/projects/6/2"
      ],
      "previous_pages": [
        "http://localhost:5000/api/v1/projects/2/2",
        "http://localhost:5000/api/v1/projects/1/2"
      ]
    },
    "per_page": 2,
    "total_pages": 49
  },
  "status": "success"
}

POST to /projects

send JSON like:

{
    "pypi_url": "https://pypi.python.org/pypi/pandas",
    "github_url": "https://github.com/pydata/pandas"
}

and get back:

{
    "data": {
        "age_display": "4 years ago",
        "bitbucket_url": false,
        "category_id": null,
        "comments": [ ],
        "contributors_count": 30,
        "contributors_url": "https://api.github.com/repos/pydata/pandas/contributors",
        "current_version": "0.16.0",
        "date_added": "2015-03-26T15:24:31.995908+00:00",
        "docs_url": null,
        "downloads_count": 2208523,
        "first_commit": "2010-08-24T01:37:33+00:00",
        "first_commit_display": "4 years ago",
        "forks_count": 1499,
        "forks_url": "https://github.com/pydata/pandas/network",
        "git_url": "https://github.com/pydata/pandas",
        "github_url": true,
        "group_id": null,
        "id": 5,
        "last_commit": "2015-03-26T16:46:51+00:00",
        "last_commit_display": "2 hours ago",
        "logs": [ ],
        "mailing_list_url": null,
        "name": "pandas",
        "open_issues_count": 1342,
        "open_issues_url": "https://github.com/pydata/pandas/issues",
        "project_stub": "pydata/pandas",
        "pypi_url": "https://pypi.python.org/pypi/pandas",
        "python_three_compatible": true,
        "starred_count": 4191,
        "starred_url": "https://github.com/pydata/pandas/stargazers",
        "status": false,
        "summary": "Powerful data structures for data analysis, time series,and statistics",
        "user_likes": [ ],
        "watchers_count": 4191,
        "watchers_url": "https://github.com/pydata/pandas/watchers",
        "website": "http://pandas.pydata.org"
    },
    "status": "success"
}

POST to /projects/87/comments

Send:

{
    "text": "Hey, I thought this project was really useful!"
}

Get back:

{
  "data": {
    "created_display": "just now",
    "id": 1,
    "project_id": 87,
    "text": "Hey, I thought this project was really useful!",
    "user_avatar": "https://avatars.githubusercontent.com/u/10367555?v=3",
    "user_id": 1,
    "user_name": "Gordon Fierce"
  },
  "status": "success"
}

GET to /search?q="web"

{
  "data": {
    "projects": [
      {
        "age_display": "4 years ago",
        "bitbucket_url": false,
        "category_id": null,
        "comments": [],
        "contributors_count": 30,
        "contributors_url": "https://api.github.com/repos/boto/boto/contributors",
        "current_version": "2.36.0",
        "date_added": "2015-03-27T13:42:53.291593+00:00",
        "docs_url": null,
        "downloads_count": 32687134,
        "first_commit": "2010-07-12T19:15:33+00:00",
        "first_commit_display": "4 years ago",
        "forks_count": 1663,
        "forks_url": "https://github.com/boto/boto//network",
        "git_url": "https://github.com/boto/boto/",
        "github_url": true,
        "group_id": null,
        "id": 4,
        "last_commit": "2015-03-28T17:31:49+00:00",
        "last_commit_display": "2 hours ago",
        "logs": [
          {
            "contributors_count": 30,
            "current_version": "2.36.0",
            "download_difference": 75875,
            "downloads_count": 32611259,
            "forks_count": 1664,
            "forks_difference": -1,
            "id": 6,
            "last_commit": "2015-03-27T03:58:16+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 798,
            "previous_score": 0.368327753054141,
            "project_id": 4,
            "release_count": 107,
            "starred_count": 4684,
            "watchers_difference": 4
          },
          {
            "contributors_count": 30,
            "current_version": "2.36.0",
            "download_difference": 75875,
            "downloads_count": 32611259,
            "forks_count": 1664,
            "forks_difference": -1,
            "id": 108,
            "last_commit": "2015-03-27T03:58:16+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 798,
            "previous_score": 0.368327753054141,
            "project_id": 4,
            "release_count": 107,
            "starred_count": 4684,
            "watchers_difference": 4
          },
          {
            "contributors_count": 30,
            "current_version": "2.36.0",
            "download_difference": 0,
            "downloads_count": 32687134,
            "forks_count": 1664,
            "forks_difference": -1,
            "id": 195,
            "last_commit": "2015-03-27T21:13:59+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-28",
            "open_issues_count": 798,
            "previous_score": 0.416854157480135,
            "project_id": 4,
            "release_count": 107,
            "starred_count": 4685,
            "watchers_difference": 3
          }
        ],
        "mailing_list_url": null,
        "name": "boto",
        "open_issues_count": 798,
        "open_issues_url": "https://github.com/boto/boto//issues",
        "project_stub": "boto/boto",
        "pypi_stub": "http://pypi.python.org/pypi",
        "pypi_url": "http://pypi.python.org/pypi/boto",
        "python_three_compatible": true,
        "release_count": 107,
        "score": 0.416854157480135,
        "starred_count": 4688,
        "starred_url": "https://github.com/boto/boto//stargazers",
        "status": false,
        "summary": "Amazon Web Services Library",
        "user_likes": [],
        "watchers_count": 4688,
        "watchers_url": "https://github.com/boto/boto//watchers",
        "website": "https://github.com/boto/boto/"
      },
      {
        "age_display": "4 years ago",
        "bitbucket_url": true,
        "category_id": null,
        "comments": [],
        "contributors_count": 0,
        "contributors_url": "",
        "current_version": "1.7.5.1",
        "date_added": "2015-03-27T13:43:13.063488+00:00",
        "docs_url": null,
        "downloads_count": 9517266,
        "first_commit": "2010-03-31T19:14:04.825000+00:00",
        "first_commit_display": "4 years ago",
        "forks_count": 31,
        "forks_url": "",
        "git_url": "https://bitbucket.org/ianb/paste",
        "github_url": false,
        "group_id": null,
        "id": 26,
        "last_commit": "2015-01-01T22:39:34.097000+00:00",
        "last_commit_display": "2 months ago",
        "logs": [
          {
            "contributors_count": 0,
            "current_version": "1.7.5.1",
            "download_difference": 4683,
            "downloads_count": 9512583,
            "forks_count": 31,
            "forks_difference": 0,
            "id": 27,
            "last_commit": "2015-01-01T22:39:34.097000+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 0,
            "previous_score": 5.9046343199169e-05,
            "project_id": 26,
            "release_count": 34,
            "starred_count": 0,
            "watchers_difference": 0
          },
          {
            "contributors_count": 0,
            "current_version": "1.7.5.1",
            "download_difference": 4683,
            "downloads_count": 9512583,
            "forks_count": 31,
            "forks_difference": 0,
            "id": 98,
            "last_commit": "2015-01-01T22:39:34.097000+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 0,
            "previous_score": 5.9046343199169e-05,
            "project_id": 26,
            "release_count": 34,
            "starred_count": 0,
            "watchers_difference": 0
          },
          {
            "contributors_count": 0,
            "current_version": "1.7.5.1",
            "download_difference": 4683,
            "downloads_count": 9512583,
            "forks_count": 31,
            "forks_difference": 0,
            "id": 200,
            "last_commit": "2015-01-01T22:39:34.097000+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-28",
            "open_issues_count": 0,
            "previous_score": 0.00137897610943886,
            "project_id": 26,
            "release_count": 34,
            "starred_count": 0,
            "watchers_difference": 0
          }
        ],
        "mailing_list_url": null,
        "name": "Paste",
        "open_issues_count": 0,
        "open_issues_url": "https://bitbucket.org/ianb/pasteissues?status=new&status=open",
        "project_stub": "ianb/paste",
        "pypi_stub": "http://pypi.python.org/pypi",
        "pypi_url": "http://pypi.python.org/pypi/Paste",
        "python_three_compatible": false,
        "release_count": 34,
        "score": 0.00137897610943886,
        "starred_count": 0,
        "starred_url": "",
        "status": false,
        "summary": "Tools for using a Web Server Gateway Interface stack",
        "user_likes": [],
        "watchers_count": 47,
        "watchers_url": "",
        "website": "http://pythonpaste.org"
      },
      {
        "age_display": "2 years ago",
        "bitbucket_url": false,
        "category_id": null,
        "comments": [],
        "contributors_count": 30,
        "contributors_url": "https://api.github.com/repos/django/django/contributors",
        "current_version": "1.8c1",
        "date_added": "2015-03-27T13:43:06.248543+00:00",
        "docs_url": null,
        "downloads_count": 13764245,
        "first_commit": "2012-04-28T02:47:18+00:00",
        "first_commit_display": "2 years ago",
        "forks_count": 5326,
        "forks_url": "https://github.com/django/django/network",
        "git_url": "https://github.com/django/django",
        "github_url": true,
        "group_id": null,
        "id": 19,
        "last_commit": "2015-03-28T18:10:54+00:00",
        "last_commit_display": "2 hours ago",
        "logs": [
          {
            "contributors_count": 30,
            "current_version": "1.8c1",
            "download_difference": 26510,
            "downloads_count": 13737735,
            "forks_count": 5322,
            "forks_difference": 4,
            "id": 21,
            "last_commit": "2015-03-27T17:13:36+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 65,
            "previous_score": 1.24566205427863,
            "project_id": 19,
            "release_count": 83,
            "starred_count": 13521,
            "watchers_difference": 4
          },
          {
            "contributors_count": 30,
            "current_version": "1.8c1",
            "download_difference": 26510,
            "downloads_count": 13737735,
            "forks_count": 5322,
            "forks_difference": 4,
            "id": 122,
            "last_commit": "2015-03-27T17:13:36+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 65,
            "previous_score": 1.24566205427863,
            "project_id": 19,
            "release_count": 83,
            "starred_count": 13521,
            "watchers_difference": 4
          },
          {
            "contributors_count": 30,
            "current_version": "1.8c1",
            "download_difference": 26510,
            "downloads_count": 13737735,
            "forks_count": 5324,
            "forks_difference": 2,
            "id": 216,
            "last_commit": "2015-03-27T21:56:37+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-28",
            "open_issues_count": 67,
            "previous_score": 0.634015729726833,
            "project_id": 19,
            "release_count": 83,
            "starred_count": 13514,
            "watchers_difference": 11
          }
        ],
        "mailing_list_url": null,
        "name": "Django",
        "open_issues_count": 65,
        "open_issues_url": "https://github.com/django/django/issues",
        "project_stub": "django/django",
        "pypi_stub": "https://pypi.python.org/pypi",
        "pypi_url": "https://pypi.python.org/pypi/Django",
        "python_three_compatible": true,
        "release_count": 83,
        "score": 0.634015729726833,
        "starred_count": 13525,
        "starred_url": "https://github.com/django/django/stargazers",
        "status": false,
        "summary": "A high-level Python Web framework that encourages rapid development and clean, pragmatic design.",
        "user_likes": [],
        "watchers_count": 13525,
        "watchers_url": "https://github.com/django/django/watchers",
        "website": "http://www.djangoproject.com/"
      },
      {
        "age_display": "4 years ago",
        "bitbucket_url": false,
        "category_id": null,
        "comments": [],
        "contributors_count": 30,
        "contributors_url": "https://api.github.com/repos/mitsuhiko/werkzeug/contributors",
        "current_version": "0.10.4",
        "date_added": "2015-03-27T13:43:28.313227+00:00",
        "docs_url": null,
        "downloads_count": 8101524,
        "first_commit": "2010-10-18T11:42:40+00:00",
        "first_commit_display": "4 years ago",
        "forks_count": 540,
        "forks_url": "https://github.com/mitsuhiko/werkzeug/network",
        "git_url": "https://github.com/mitsuhiko/werkzeug",
        "github_url": true,
        "group_id": null,
        "id": 40,
        "last_commit": "2015-03-28T16:07:07+00:00",
        "last_commit_display": "3 hours ago",
        "logs": [
          {
            "contributors_count": 30,
            "current_version": "0.10.4",
            "download_difference": 10761,
            "downloads_count": 8090763,
            "forks_count": 538,
            "forks_difference": 2,
            "id": 41,
            "last_commit": "2015-03-27T11:45:08+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 108,
            "previous_score": 0.335683049974916,
            "project_id": 40,
            "release_count": 30,
            "starred_count": 1836,
            "watchers_difference": 2
          },
          {
            "contributors_count": 30,
            "current_version": "0.10.4",
            "download_difference": 10761,
            "downloads_count": 8090763,
            "forks_count": 538,
            "forks_difference": 2,
            "id": 141,
            "last_commit": "2015-03-27T11:45:08+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 108,
            "previous_score": 0.335683049974916,
            "project_id": 40,
            "release_count": 30,
            "starred_count": 1836,
            "watchers_difference": 2
          },
          {
            "contributors_count": 30,
            "current_version": "0.10.4",
            "download_difference": 10761,
            "downloads_count": 8090763,
            "forks_count": 539,
            "forks_difference": 1,
            "id": 234,
            "last_commit": "2015-03-27T18:07:42+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-28",
            "open_issues_count": 108,
            "previous_score": 0.145212947414381,
            "project_id": 40,
            "release_count": 30,
            "starred_count": 1837,
            "watchers_difference": 1
          }
        ],
        "mailing_list_url": null,
        "name": "Werkzeug",
        "open_issues_count": 107,
        "open_issues_url": "https://github.com/mitsuhiko/werkzeug/issues",
        "project_stub": "mitsuhiko/werkzeug",
        "pypi_stub": "http://pypi.python.org/pypi",
        "pypi_url": "http://pypi.python.org/pypi/Werkzeug",
        "python_three_compatible": true,
        "release_count": 30,
        "score": 0.145212947414381,
        "starred_count": 1838,
        "starred_url": "https://github.com/mitsuhiko/werkzeug/stargazers",
        "status": false,
        "summary": "The Swiss Army knife of Python web development",
        "user_likes": [],
        "watchers_count": 1838,
        "watchers_url": "https://github.com/mitsuhiko/werkzeug/watchers",
        "website": "http://werkzeug.pocoo.org/"
      },
      {
        "age_display": "2 years ago",
        "bitbucket_url": false,
        "category_id": null,
        "comments": [],
        "contributors_count": 30,
        "contributors_url": "https://api.github.com/repos/graphite-project/graphite-web/contributors",
        "current_version": "0.9.13",
        "date_added": "2015-03-27T13:43:35.591634+00:00",
        "docs_url": null,
        "downloads_count": 6709988,
        "first_commit": "2012-05-07T21:30:55+00:00",
        "first_commit_display": "2 years ago",
        "forks_count": 681,
        "forks_url": "https://github.com/graphite-project/graphite-web/network",
        "git_url": "https://github.com/graphite-project/graphite-web",
        "github_url": true,
        "group_id": null,
        "id": 47,
        "last_commit": "2015-03-28T09:33:47+00:00",
        "last_commit_display": "10 hours ago",
        "logs": [
          {
            "contributors_count": 30,
            "current_version": "0.9.13",
            "download_difference": 11238,
            "downloads_count": 6698750,
            "forks_count": 681,
            "forks_difference": 0,
            "id": 48,
            "last_commit": "2015-03-26T21:35:59+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 310,
            "previous_score": 0.138799579428979,
            "project_id": 47,
            "release_count": 11,
            "starred_count": 2018,
            "watchers_difference": 3
          },
          {
            "contributors_count": 30,
            "current_version": "0.9.13",
            "download_difference": 11238,
            "downloads_count": 6698750,
            "forks_count": 681,
            "forks_difference": 0,
            "id": 145,
            "last_commit": "2015-03-26T21:35:59+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 310,
            "previous_score": 0.138799579428979,
            "project_id": 47,
            "release_count": 11,
            "starred_count": 2018,
            "watchers_difference": 3
          },
          {
            "contributors_count": 30,
            "current_version": "0.9.13",
            "download_difference": 11238,
            "downloads_count": 6698750,
            "forks_count": 681,
            "forks_difference": 0,
            "id": 242,
            "last_commit": "2015-03-27T22:46:13+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-28",
            "open_issues_count": 310,
            "previous_score": 0.116156504925389,
            "project_id": 47,
            "release_count": 11,
            "starred_count": 2020,
            "watchers_difference": 1
          }
        ],
        "mailing_list_url": null,
        "name": "graphite-web",
        "open_issues_count": 310,
        "open_issues_url": "https://github.com/graphite-project/graphite-web/issues",
        "project_stub": "graphite-project/graphite-web",
        "pypi_stub": "http://pypi.python.org/pypi",
        "pypi_url": "http://pypi.python.org/pypi/graphite-web",
        "python_three_compatible": false,
        "release_count": 11,
        "score": 0.116156504925389,
        "starred_count": 2021,
        "starred_url": "https://github.com/graphite-project/graphite-web/stargazers",
        "status": false,
        "summary": "Enterprise scalable realtime graphing",
        "user_likes": [],
        "watchers_count": 2021,
        "watchers_url": "https://github.com/graphite-project/graphite-web/watchers",
        "website": "http://graphite.readthedocs.org"
      },
      {
        "age_display": "5 years ago",
        "bitbucket_url": false,
        "category_id": null,
        "comments": [],
        "contributors_count": 30,
        "contributors_url": "https://api.github.com/repos/tornadoweb/tornado/contributors",
        "current_version": "4.1",
        "date_added": "2015-03-27T13:43:53.054296+00:00",
        "docs_url": null,
        "downloads_count": 4429573,
        "first_commit": "2009-09-09T04:55:16+00:00",
        "first_commit_display": "5 years ago",
        "forks_count": 2498,
        "forks_url": "https://github.com/tornadoweb/tornado/network",
        "git_url": "https://github.com/tornadoweb/tornado",
        "github_url": true,
        "group_id": null,
        "id": 67,
        "last_commit": "2015-03-28T17:30:11+00:00",
        "last_commit_display": "2 hours ago",
        "logs": [
          {
            "contributors_count": 30,
            "current_version": "4.1",
            "download_difference": 11595,
            "downloads_count": 4417978,
            "forks_count": 2497,
            "forks_difference": 1,
            "id": 67,
            "last_commit": "2015-03-27T11:51:20+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 126,
            "previous_score": 0.580221040259332,
            "project_id": 67,
            "release_count": 27,
            "starred_count": 8774,
            "watchers_difference": 2
          },
          {
            "contributors_count": 30,
            "current_version": "4.1",
            "download_difference": 11595,
            "downloads_count": 4417978,
            "forks_count": 2497,
            "forks_difference": 1,
            "id": 169,
            "last_commit": "2015-03-27T17:46:24+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 126,
            "previous_score": 0.580221040259332,
            "project_id": 67,
            "release_count": 27,
            "starred_count": 8775,
            "watchers_difference": 1
          },
          {
            "contributors_count": 30,
            "current_version": "4.1",
            "download_difference": 11595,
            "downloads_count": 4417978,
            "forks_count": 2497,
            "forks_difference": 1,
            "id": 260,
            "last_commit": "2015-03-27T21:45:09+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-28",
            "open_issues_count": 126,
            "previous_score": 0.334672151189231,
            "project_id": 67,
            "release_count": 27,
            "starred_count": 8776,
            "watchers_difference": 0
          }
        ],
        "mailing_list_url": null,
        "name": "tornado",
        "open_issues_count": 125,
        "open_issues_url": "https://github.com/tornadoweb/tornado/issues",
        "project_stub": "tornadoweb/tornado",
        "pypi_stub": "http://pypi.python.org/pypi",
        "pypi_url": "http://pypi.python.org/pypi/tornado",
        "python_three_compatible": true,
        "release_count": 27,
        "score": 0.334672151189231,
        "starred_count": 8776,
        "starred_url": "https://github.com/tornadoweb/tornado/stargazers",
        "status": false,
        "summary": "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.",
        "user_likes": [],
        "watchers_count": 8776,
        "watchers_url": "https://github.com/tornadoweb/tornado/watchers",
        "website": "http://www.tornadoweb.org/"
      },
      {
        "age_display": "3 years ago",
        "bitbucket_url": false,
        "category_id": null,
        "comments": [],
        "contributors_count": 30,
        "contributors_url": "https://api.github.com/repos/Pylons/webob/contributors",
        "current_version": "1.4",
        "date_added": "2015-03-27T13:43:54.049700+00:00",
        "docs_url": null,
        "downloads_count": 4324331,
        "first_commit": "2011-09-17T19:32:24+00:00",
        "first_commit_display": "3 years ago",
        "forks_count": 92,
        "forks_url": "https://github.com/Pylons/webob/network",
        "git_url": "https://github.com/Pylons/webob",
        "github_url": true,
        "group_id": null,
        "id": 68,
        "last_commit": "2015-03-27T17:51:43+00:00",
        "last_commit_display": "a day ago",
        "logs": [
          {
            "contributors_count": 30,
            "current_version": "1.4",
            "download_difference": 7429,
            "downloads_count": 4316902,
            "forks_count": 92,
            "forks_difference": 0,
            "id": 68,
            "last_commit": "2015-03-16T01:56:39+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 55,
            "previous_score": 0.00879591425838768,
            "project_id": 68,
            "release_count": 42,
            "starred_count": 210,
            "watchers_difference": 1
          },
          {
            "contributors_count": 30,
            "current_version": "1.4",
            "download_difference": 7429,
            "downloads_count": 4316902,
            "forks_count": 92,
            "forks_difference": 0,
            "id": 163,
            "last_commit": "2015-03-16T01:56:39+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-27",
            "open_issues_count": 55,
            "previous_score": 0.00879591425838768,
            "project_id": 68,
            "release_count": 42,
            "starred_count": 210,
            "watchers_difference": 1
          },
          {
            "contributors_count": 30,
            "current_version": "1.4",
            "download_difference": 7429,
            "downloads_count": 4316902,
            "forks_count": 92,
            "forks_difference": 0,
            "id": 262,
            "last_commit": "2015-03-27T17:51:43+00:00",
            "likes_difference": 0,
            "log_date": "2015-03-28",
            "open_issues_count": 55,
            "previous_score": 0.0170704167044154,
            "project_id": 68,
            "release_count": 42,
            "starred_count": 211,
            "watchers_difference": 0
          }
        ],
        "mailing_list_url": null,
        "name": "WebOb",
        "open_issues_count": 56,
        "open_issues_url": "https://github.com/Pylons/webob/issues",
        "project_stub": "Pylons/webob",
        "pypi_stub": "http://pypi.python.org/pypi",
        "pypi_url": "http://pypi.python.org/pypi/WebOb",
        "python_three_compatible": true,
        "release_count": 42,
        "score": 0.0170704167044154,
        "starred_count": 211,
        "starred_url": "https://github.com/Pylons/webob/stargazers",
        "status": false,
        "summary": "WSGI request and response object",
        "user_likes": [],
        "watchers_count": 211,
        "watchers_url": "https://github.com/Pylons/webob/watchers",
        "website": "http://webob.org/"
      }
    ],
    "query": "\"web\""
  },
  "status": "success"
}

GET /projects/6/graph

Get back:

{
  "data": {
    "axes": [
      {
        "scale": "x",
        "title": "Date",
        "type": "x"
      },
      {
        "scale": "y",
        "title": "Score",
        "type": "y"
      }
    ],
    "data": [
      {
        "format": {
          "parse": {
            "x": "date"
          },
          "type": "json"
        },
        "name": "table",
        "values": [
          {
            "col": "data",
            "idx": 1427428800000.0,
            "val": 0.20317241291064
          },
          {
            "col": "data",
            "idx": 1427428800000.0,
            "val": 0.20317241291064
          },
          {
            "col": "data",
            "idx": 1427515200000.0,
            "val": 0.301870917288644
          }
        ]
      }
    ],
    "height": 500,
    "legends": [],
    "marks": [
      {
        "from": {
          "data": "table",
          "transform": [
            {
              "keys": [
                "data.col"
              ],
              "type": "facet"
            }
          ]
        },
        "marks": [
          {
            "properties": {
              "enter": {
                "stroke": {
                  "field": "data.col",
                  "scale": "color"
                },
                "strokeWidth": {
                  "value": 2
                },
                "x": {
                  "field": "data.idx",
                  "scale": "x"
                },
                "y": {
                  "field": "data.val",
                  "scale": "y"
                }
              }
            },
            "type": "line"
          }
        ],
        "type": "group"
      }
    ],
    "padding": "auto",
    "scales": [
      {
        "domain": {
          "data": "table",
          "field": "data.idx"
        },
        "name": "x",
        "range": "width",
        "type": "time"
      },
      {
        "domain": {
          "data": "table",
          "field": "data.val"
        },
        "name": "y",
        "nice": true,
        "range": "height"
      },
      {
        "domain": {
          "data": "table",
          "field": "data.col"
        },
        "name": "color",
        "range": "category20",
        "type": "ordinal"
      }
    ],
    "width": 960
  },
  "status": "success"
}