Skip to main content

A simple pythonic wrapper for the Nobel Prize API.

Project description

A simple Python wrapper for the Nobel Prize API.


First, initialize the API wrapper:

import nobel
api = nobel.Api()

Now you have access to the resources defined by the API (prizes, laureates and countries) and their methods.

For example, to list all laureates:

>>> for laureate in api.laureates.all():
...     print '%s (%s)' % (laureate, laureate.born_country)

To filter (check the Nobel Prize API documentation for all available filtering parameters):

>>> api.laureates.filter(gender='female', born_country='Iran')
[<Laureate id=773>, <Laureate id=817>]
>>> api.prizes.filter(year=1969)
[<Prize category="physics" year=1969>, <Prize category="chemistry" year=1969>,
<Prize category="medicine" year=1969>, <Prize category="literature" year=1969>,
<Prize category="peace" year=1969>, <Prize category="economics" year=1969>]

To retrieve a single resource:

>>> laureate = api.laureates.get(id=26)
>>> laureate.firstname
>>> laureate.surname
>>> laureate.prizes
[<Prize category="physics" year=1921>]
>>> laureate.born_country
<Country code="DE" name="Germany">
>>> laureate.died_country
<Country code="US" name="USA">

>>> prize = api.prizes.get(year=2000, category='economics')
>>> print ", ".join([str(l) for l in prize.laureates])
James J. Heckman, Daniel L. McFadden

As you can see, every Prize object is given a laureates attribute populated with a list of its Laureate objects. Likewise, every Laureate objects is given a prizes attribute with Prize objects.

Attributes and query parameters in the Nobel Prize API are mixedCase, but this wrapper uses the more pythonic lower_case_with_underscores style and takes care of the conversion when filtering and accessing attributes.


To install Nobel, simply:

$ pip install nobel


  • Documentation and full reference
  • Tests
  • More ORM-ish stuff, like filtering using Prize, Laureate or Country objects as arguments
  • Add relation attributes, like affiliations.


This is inspired by the beautifully written hipchat-api wrapper.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nobel-0.2.tar.gz (6.0 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page