A simple Python wrapper for the Nobel Prize API.
Quickstart
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
u'Albert'
>>> laureate.surname
u'Einstein'
>>> 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.
Installation
To install Nobel, simply:
$ pip install nobel
TODO
Documentation and full reference
Tests
More ORM-ish stuff, like filtering using Prize, Laureate or Country objects as arguments
Add relation attributes, like affiliations.
Credits
This is inspired by the beautifully written hipchat-api wrapper.
Metadata
Release files for nobel 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nobel-0.2.tar.gz | 6.0 kB | Details |
Release files / nobel-0.2.tar.gz
| Download URL | nobel-0.2.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a97d6e63f315da7f04ccecf18798f7e895834c9407f68e4a9c3617cbf52b6c8
|
|
BLAKE2b-256 checksum How to use checksums |
82873ac9c2d29e5f2f933da9faf3b8bd56434dd910c99b286f4ffc284f80b2c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |