Metadata-Version: 2.0
Name: opensecrets-crpapi
Version: 0.2.2
Summary: A Python client for the Center for Responsive Politics API at OpenSecrets.org.
Home-page: https://github.com/robrem/opensecrets-crpapi
Author: Rob Remington
Author-email: rob@rob.codes
License: MIT
Platform: any
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: httplib2

OpenSecrets CRP API
===================

A Python client for the `Center for Responsive Politics API <https://www.opensecrets.org/resources/create/apis.php>` at OpenSecrets.org.

Access campaign contribution and personal financial data for US congressional members.

You will need a `Center for Responsive Politics API key <https://www.opensecrets.org/api/admin/index.php?function=signup>`.

Install
-------

From PyPI:

::

    pip install opensecrets-crpapi


Or, download and use the install script:

::

    git clone https://github.com/robrem/opensecrets-crpapi && cd opensecrets-crpapi
    python setup.py install

Usage
-----

All API functions are abstracted to corresponding client methods, and accept the respective parameters. Results are returned in JSON format, and pre-parsed to trim the fat. For example:

::

    >>> from crpapi import CRP
    >>> crp = CRP(API_KEY)

    # get a specific legislator by CID
    >>> cand = crp.candidates.get('N00007360')
    >>> cand['lastname']
    'PELOSI'

    # get the top contributors to a candidate for a specific cycle
    >>> contribs = crp.candidates.contrib('N00007360', '2016')
    >>> contribs[0]['@attributes']['org_name']
    'ActBlue'

    # get fundraising information for a committee's members, by industry
    >>> cmte = crp.committees.cmte_by_ind('HARM', 'F10')
    >>> cmte[0]['@attributes']['member_name']
    'Heck, Joe'

    # use fetch to access the endpoints more directly, without pre-parsed results
    >>> summ = crp.fetch('candSummary', cid='N00007360')
    >>> summ['summary']['@attributes']['first_elected']
    '1987'

