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 | Provenance | Actions |
|---|---|---|---|---|
| nobel-0.2.tar.gz | 6.0 kB | Without provenance | Details for nobel-0.2.tar.gz |
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 |
Security for nobel 0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.