Python wrapper for NYTimes Top Stories API
Project description
nytimes-top-stories is a simple Python wrapper for New York Times’ Top Stories API.
Compatible with Python 2.7 and 3+.
Dependencies
nytimes-top-stories requires the requests package.
Installation
Pip
pip install nytimes-top-stories
Clone repository
git clone git@github.com:kashiish/nytimes-top-stories.git
cd into your nytimes-top-stories directory
python setup.py install
Usage
Register for a Top Stories API key at https://developer.nytimes.com/signup.
from topstories import TopStoriesAPI
api = TopStoriesAPI(<SECRET_API_KEY>)
The get_stories method takes one required argument and two optional arguments. Checkout the API documentation to see the data that is returned from the API.
def get_stories(self, section, format_type="json", return_json_string=False):
"""
Gets a list of current top articles and associated images in the
specified section and in the specified format.
params:
section: (string) the section the articles appears in
format: (string) json or jsonp, default is json
return_json_string: (boolean) if True, return value will be JSON string instead of a python list,
default is False
return:
format_type=json: A list of articles (articles are python dicts) is returned.
If return_json_string, string is returned.
format_type=jsonp: API returns a callback function (string) in the format
"{section}TopStoriesCallback({data})".
{data} is an object, not an array, and it is not parsed/decoded.
"""
stories = api.get_stories("politics") # list of story dicts
stories_string = api.get_stories("home", return_json_string=True) # json string
stories_jsonp = api.get_stories("work", format_type="jsonp") # (string) callback function with data input
In addition, there are two more public methods:
#returns a list of valid sections
>>> api.get_sections_list()
>>> ["home","opinion","world","national","politics","upshot","nyregion","business",
"technology","science","health","sports","arts","books","theater","sundayreview",
"fashion","tmagazine","food","travel","magazine","realestate","automobiles",
"obituaries","insider"]
# writes a list of stories to a json file
# input a path to file and list of stories
api.write_to_json_file("example.json", stories)
Testing
pytest and mock are used for testing this package.
python setup.py pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nytimes-top-stories-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01ed95ae373af24e69f565e2d2eabcb898f6759ae4d0ae81171f31ecacfa6de7 |
|
MD5 | 88f5f6a9bf9967203a772eb9fec5d0bd |
|
BLAKE2b-256 | 8545516fedb536ddf6b75489539ebbf99fbad44bf30a0a5dcc8d08c4765e0f36 |
Hashes for nytimes_top_stories-1.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83a52af4139515aeb1a4c584d119a6bcbdc907025bc440598a8a0cd6950e0ea1 |
|
MD5 | 82d8658493d5a5b57048754351696915 |
|
BLAKE2b-256 | 57f3309510b647c12220001ac49ece55a8b61c47b8310a2e05cf31345efa0b86 |