Skip to main content

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


Download files

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

Source Distribution

nytimes-top-stories-1.0.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nytimes_top_stories-1.0.1-py2.py3-none-any.whl (6.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file nytimes-top-stories-1.0.1.tar.gz.

File metadata

File hashes

Hashes for nytimes-top-stories-1.0.1.tar.gz
Algorithm Hash digest
SHA256 01ed95ae373af24e69f565e2d2eabcb898f6759ae4d0ae81171f31ecacfa6de7
MD5 88f5f6a9bf9967203a772eb9fec5d0bd
BLAKE2b-256 8545516fedb536ddf6b75489539ebbf99fbad44bf30a0a5dcc8d08c4765e0f36

See more details on using hashes here.

File details

Details for the file nytimes_top_stories-1.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for nytimes_top_stories-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 83a52af4139515aeb1a4c584d119a6bcbdc907025bc440598a8a0cd6950e0ea1
MD5 82d8658493d5a5b57048754351696915
BLAKE2b-256 57f3309510b647c12220001ac49ece55a8b61c47b8310a2e05cf31345efa0b86

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page