Skip to main content
Help us improve Python packaging – donate today!

A Python client for the New York Times Campaign Finance API

Project Description

A very basic Python client for the New York Times [Campaign Finance API](http://developer.nytimes.com/docs/campaign_finance_api). You’ll need an API key, which should be set as an environment variable to run the tests. The client returns JSON only, not full Python objects, and attempts to implement each response in The Times’ API.

Install

$ pip install nytcampfin

Or download and run

$ python setup.py install

Requirements

NYT Campfin uses the [Kenneth Reitz’s Requests library](https://github.com/kennethreitz/requests) for retrieving API endpoints and [Roman Haritonov’s requests-cache library](https://github.com/reclosedev/requests-cache) for local caching. The cache is preconfigured to use a local sqlite database and set to expire after 5 minutes.

Tests

To run the tests, set your API key as an environment variable NYT_CAMPFIN_API_KEY:

$ export NYT_CAMPFIN_API_KEY=YOUR-API-KEY

and then run the tests:

$ python test.py

The use of caching is disabled in the tests.

Usage

>>> from nytcampfin import NytCampfin
>>> finance = NytCampfin(YOUR_NYT_CAMPAIGN_FINANCE_API_KEY)

# retrieve today’s filings >>> today = finance.filings.today() >>> today[0][‘filing_id’] 793150

# retrieve a committee’s details >>> cmte = finance.committees.get(‘C00490219’,2012) >>> cmte[‘id’] u’C00490219’

# retrieve a candidate’s details >>> cand = finance.candidates.get(‘H4NY11138’) >>> cand[‘name’] u’CLARKE, YVETTE D’

See the tests for plenty more examples.

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it.
  • Send a pull request. Bonus points for topic branches.

Authors

Derek Willis, dwillis@nytimes.com

Release history Release notifications

This version
History Node

0.4.0

History Node

0.3.0

History Node

0.2.0

History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
nytcampfin-0.4.0.tar.gz (6.5 kB) Copy SHA256 hash SHA256 Source None Jul 25, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page