lobbyview


Namelobbyview JSON
Version 0.0.3 PyPI version JSON
download
home_pageNone
SummaryLobbyView Rest API Wrapper
upload_time2024-05-03 01:59:07
maintainerNone
docs_urlNone
authorNone
requires_python>=3.5
licenseNone
keywords politics lobbying
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # LobbyView Package Documentation

This module provides a Python interface to the LobbyView REST API. It uses the same endpoints
and parameter names as outlined in the LobbyView REST API Documentation
(https://rest-api.lobbyview.org/).

The LobbyView API provides comprehensive data on lobbying activities in the United States.
This includes information on:

- Legislators: Details about the individuals involved in the legislative process.
- Bills: Information about proposed laws and their progress.
- Clients: Data on the entities that lobbyists represent.
- Reports: Detailed reports on lobbying activities.
- Issues: Government issues/areas that get lobbied on.
- Networks: Connections and relationships in lobbying.
- Texts: Written documents related to lobbying.
- Quarter-level networks: Lobbying networks on a quarterly basis.
- Bill-client networks: Connections between bills and the clients they affect.

This module also defines several custom exceptions to handle errors that may occur when
interacting with the LobbyView API.

# Instructions

Import a lobbyview token using os and dotenv

```
import os
from dotenv import load_dotenv
load_dotenv(".env")
LOBBYVIEW_TOKEN = os.environ.get('LOBBYVIEW_TOKEN')
```

Initialize a LobbyView object instance

```
from LobbyView import LobbyView
lobbyview = LobbyView(LOBBYVIEW_TOKEN)
```

Note that ```quarter_level_networks``` and ```bill_client_networks``` API endpoints are not available to all users.

# Classes and Methods

## Class: LobbyView

Main class for interacting with the LobbyView API.


### Method: __init__

Initialize the LobbyView class with the provided API token.


#### Parameters:
- str lobbyview_token: API token for the LobbyView API
- bool test_connection: Whether to test the connection to the API


### Method: get_data

Sends a GET request to the LobbyView API with the provided query string.
Returns the JSON response data.


#### Parameters:
- str query_string: Query string for the API endpoint
:return dict: JSON data from the API response
:raises UnauthorizedError: If the API returns a 401 Unauthorized status code
:raises TooManyRequestsError: If the API returns a 429 Too Many Requests status
    code
:raises PartialContentError: If the API returns a 206 Partial Content status code
:raises UnexpectedStatusCodeError: If the API returns an unexpected status code
:raises RequestError: If an error occurs during the request


#### Example:
```python
>>> lobbyview.get_data('/api/invalid_endpoint')
Traceback (most recent call last):
...
UnexpectedStatusCodeError: UnexpectedStatusCodeError

>>> lobbyview.get_data('/api/legislators?invalid_param=value')
Traceback (most recent call last):
...
UnexpectedStatusCodeError: UnexpectedStatusCodeError

>>> lobbyview_invalid = LobbyView("invalid_token", test_connection=False)
>>> lobbyview_invalid.get_data('/api/legislators')
Traceback (most recent call last):
...
UnauthorizedError: UnauthorizedError
```

### Method: paginate

Paginates the data retrieval from the LobbyView API using lazy evaluation
via a generator that yields results one at a time.


#### Parameters:
- function func: The API endpoint function to be paginated.
- dict kwargs: Additional keyword arguments to be passed to the API endpoint
    function.

#### Returns:
- A generator object that yields paginated results one item at a time.
:raises PartialContentError: If the API returns a 206 Partial Content status code
:raises LobbyViewError: If a different error occurs during pagination


#### Example:
```python
>>> for legislator in lobbyview.paginate(lobbyview.legislators, legislator_first_name="John", legislator_last_name="McCain"):
...     print(f"Legislator: {legislator['legislator_full_name']}")
Retrieving page 1...
Legislator: John McCain

>>> for bill in lobbyview.paginate(lobbyview.bills, congress_number=111, bill_chamber="H", bill_number=4173):
...     print(f"Bill: {bill['bill_number']} - {bill['bill_chamber']}")
Retrieving page 1...
Bill: 4173 - H

>>> for client in lobbyview.paginate(lobbyview.clients, client_name='InvalidClientName'):
...     print(f"Client: {client['client_name']} - NAICS: {client['primary_naics']}")
Retrieving page 1...
Error occurred: InvalidPageNumberError

>>> for network in lobbyview.paginate(lobbyview.bill_client_networks, congress_number=114, bill_chamber="H", bill_number=1174, client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3"):
...     print(f"Issue Ordi: {network['issue_ordi']}")
Retrieving page 1...
Issue Ordi: 2
Issue Ordi: 5
Issue Ordi: 4
...

>>> for text in lobbyview.paginate(lobbyview.texts, issue_code="HCR", issue_text="covid"):
...     print(f"Issue Code: {text['issue_code']}")
Retrieving page 1...
Issue Code: HCR
Issue Code: HCR
...
Issue Code: HCR
Retrieving page 2...
Issue Code: HCR
Issue Code: HCR
...
```

### Method: legislators

Gets legislator information from the LobbyView API based on the provided
parameters.


#### Parameters:
- str legislator_id: Unique identifier of the legislator from LobbyView
- str legislator_govtrack_id: Unique identifier of the legislator from
    GovTrack
- str legislator_first_name: First name of the legislator
- str legislator_last_name: Last name of the legislator
- str legislator_full_name: Full name of the legislator
- str legislator_gender: Gender of the legislator
- str exact_birthday: Exact birthday of the legislator (YYYY-MM-DD)
- str min_birthday: Minimum birthday of the legislator (YYYY-MM-DD)
- str max_birthday: Maximum birthday of the legislator (YYYY-MM-DD)
- int page: Page number of the results, default is 1

#### Returns:
- LegislatorResponse object containing the legislator data


#### Example:
```python
>>> output = lobbyview.legislators(legislator_first_name="John", legislator_last_name="McCain")
>>> output.data[0]['legislator_id']
'M000303'
>>> output = lobbyview.legislators(legislator_id="M000303")
>>> output.data[0]['legislator_full_name']
'John McCain'

>>> output = lobbyview.legislators(legislator_first_name="John", legislator_last_name="McCain")
>>> print(output)
Legislators:
  John McCain (ID: M000303)

>>> output = lobbyview.legislators(legislator_govtrack_id=412755, legislator_full_name="TJ Cox", legislator_gender="M", min_birthday="1963-03-14", max_birthday="1963-08-14")
>>> print(output)
Legislators:
  TJ Cox (ID: C001124)
```

### Method: bills

Gets bill information from the LobbyView API based on the provided parameters.


#### Parameters:
- int congress_number: Session of Congress
- str bill_chamber: Chamber of the legislative branch
    (Component of the bill_id composite key)
- str bill_resolution_type: Bill type (Component of the bill_id composite
    key)
- int bill_number: Bill number (Component of the bill_id composite key)
- str bill_state: Bill status
- str legislator_id: Sponsor of the bill
- str min_introduced_date: Minimum date of introduction to Congress
    (YYYY-MM-DD)
- str max_introduced_date: Maximum date of introduction to Congress
    (YYYY-MM-DD)
- str min_updated_date: Minimum date of most recent status change
    (YYYY-MM-DD)
- str max_updated_date: Maximum date of most recent status change
    (YYYY-MM-DD)
- int page: Page number of the results, default is 1

#### Returns:
- BillResponse object containing the bill data


#### Example:
```python
>>> output = lobbyview.bills(congress_number=111, bill_chamber="H", bill_number=4173)
>>> output.data[0]['bill_state']
'ENACTED:SIGNED'

>>> output = lobbyview.bills(congress_number=111, bill_chamber="H", bill_number=4173)
>>> print(output)
Bills:
  4173 (Congress: 111, Sponsor: F000339)
```

### Method: clients

Gets client information from the LobbyView API based on the provided parameters.


#### Parameters:
- str client_uuid: Unique identifier of the client
- str client_name: Name of the client
- str min_naics: Minimum NAICS code to which the client belongs
- str max_naics: Maximum NAICS code to which the client belongs
- str naics_description: Descriptions of the NAICS code
- int page: Page number of the results, default is 1

#### Returns:
- ClientResponse object containing the client data


#### Example:
```python
>>> output = lobbyview.clients(client_name="Microsoft Corporation")
>>> output.data[0]['client_uuid']
'44563806-56d2-5e99-84a1-95d22a7a69b3'

>>> output = lobbyview.clients(client_name="Microsoft Corporation")
>>> print(output)
Clients:
  Microsoft Corporation (ID: 44563806-56d2-5e99-84a1-95d22a7a69b3)
  PCT Government Relations on behalf of Microsoft Corporation (ID: 62eb98f6-ea3a-542d-abdb-7d2fce94b4f8)
  Cornerstone Government Affairs obo Microsoft Corporation (ID: d6634602-1d0b-560d-b4ac-e04194782ad3)

>>> output = lobbyview.clients(client_uuid='44563806-56d2-5e99-84a1-95d22a7a69b3', min_naics=511209, max_naics=511211, naics_description='Applications development and publishing')
>>> print(output)
Clients:
  Microsoft Corporation (ID: 44563806-56d2-5e99-84a1-95d22a7a69b3)
```

### Method: reports

Gets report information from the LobbyView API based on the provided parameters.


#### Parameters:
- str report_uuid: Unique identifier of the report
- str client_uuid: Unique identifier of the client
- str registrant_uuid: Unique identifier of the registrant
- str registrant_name: Name of the registrant
- int report_year: Year of the report
- int min_report_year: Minimum year of the report
- int max_report_year: Maximum year of the report
- str report_quarter_code: Quarter period of the report
- str min_amount: Minimum lobbying firm income or lobbying expense
    (in-house)
- str max_amount: Maximum lobbying firm income or lobbying expense
    (in-house)
- bool is_no_activity: Quarterly activity indicator
- bool is_client_self_filer: An organization employing its own in-house
    lobbyist(s)
- bool is_amendment: Amendment of previous report
- int page: Page number of the results, default is 1

#### Returns:
- ReportResponse object containing the report data


#### Example:
```python
>>> output = lobbyview.reports(report_year=2020, report_quarter_code="2", is_client_self_filer=True, report_uuid="4b799814-3e94-5ee1-8dd4-b32aead9aca6")
>>> output.data[0]['amount']
'$11,680,000.00'

>>> output = lobbyview.reports(report_year=2020, report_quarter_code="2", is_client_self_filer=True, report_uuid="4b799814-3e94-5ee1-8dd4-b32aead9aca6")
>>> print(output)
Reports:
  4b799814-3e94-5ee1-8dd4-b32aead9aca6 (Year: 2020, Quarter: 2)
```

### Method: issues

Gets issue information from the LobbyView API based on the provided parameters.


#### Parameters:
- str report_uuid: Unique identifier of the report
- int issue_ordi: An integer given to the issue
- str issue_code: General Issue Area Code (Section 15)
- str gov_entity: House(s) of Congress and Federal agencies (Section 17)
- int page: Page number of the results, default is 1

#### Returns:
- IssueResponse object containing the issue data


#### Example:
```python
>>> output = lobbyview.issues(issue_code="TRD")
>>> output.data[0]['report_uuid']
'00016ab3-2246-5af8-a68d-05af40dfde68'

>>> output = lobbyview.issues(issue_code="TRD")
>>> print(output)
Issues:
  TRD (Report UUID: 00016ab3-2246-5af8-a68d-05af40dfde68, Issue Ordi: 2)
  TRD (Report UUID: 0001f9b9-84d7-5ceb-af03-8987bb76d593, Issue Ordi: 1)
  TRD (Report UUID: 00020868-67be-5975-955d-7ecab8d42e6e, Issue Ordi: 2)
  TRD (Report UUID: 00040172-6cda-5b31-8d83-9c1bcfd4b289, Issue Ordi: 1)
  TRD (Report UUID: 00047fc7-2207-5f3b-951d-692b9f35825b, Issue Ordi: 1)
  TRD (Report UUID: 000759fa-dc93-5849-b1e5-7aa751e86433, Issue Ordi: 4)
...
```

### Method: networks

Gets network information from the LobbyView API based on the provided parameters.


#### Parameters:
- str client_uuid: Unique identifier of the client
- str legislator_id: Unique identifier of the legislator
- int min_report_year: Minimum year of the report
- int max_report_year: Maximum year of the report
- int min_bills_sponsored: Minimum number of bills sponsored by the legislator
    in a specific year lobbied by the client
- int max_bills_sponsored: Maximum number of bills sponsored by the legislator
    in a specific year lobbied by the client
- int page: Page number of the results, default is 1

#### Returns:
- NetworkResponse object containing the network data


#### Example:
```python
>>> output = lobbyview.networks(client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3", legislator_id="M000303")
>>> output.data[0]['report_year']
2006

>>> output = lobbyview.networks(client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3", legislator_id="M000303")
>>> print(output)
Networks:
  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2006, Bills Sponsored: 1
  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2017, Bills Sponsored: 1

>>> output = lobbyview.networks(min_report_year=2016, max_report_year=2018, min_bills_sponsored=0, max_bills_sponsored=2, client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3", legislator_id="M000303")
>>> print(output)
Networks:
  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2017, Bills Sponsored: 1
```

### Method: texts

Gets issue text data from the LobbyView API based on the provided parameters.


#### Parameters:
- str report_uuid: Unique identifier of the report
- int issue_ordi: An integer given to the issue
- str issue_code: General Issue Area Code (Section 15)
- str issue_text: Specific lobbying issues (Section 16)
- int page: Page number of the results, default is 1

#### Returns:
- TextResponse object containing the text data


#### Example:
```python
>>> output = lobbyview.texts(issue_code="HCR", issue_text="covid")
>>> output.data[0]['issue_ordi']
1

>>> output = lobbyview.texts(issue_code="HCR", issue_text="covid")
>>> print(output)
Texts:
  Issue Code: HCR, Issue Text: HR 748 CARES Act - Issues related to COVID-19 relief
...

>>> output = lobbyview.texts(report_uuid='000bef17-9f0a-5d7c-8660-edca16e1dfce', issdue_ordi=1)
>>> print(output)
Texts:
  Issue Code: HCR, Issue Text: HR 748 CARES Act - Issues related to COVID-19 relief
```

### Method: quarter_level_networks

Gets quarter-level network information from the LobbyView API based on the provided
parameters.


#### Parameters:
- str client_uuid: Unique identifier of the client
- str legislator_id: Unique identifier of the legislator
- int report_year: Year of the report
- str report_quarter_code: Quarter period of the report
- int min_bills_sponsored: Minimum number of bills sponsored by the legislator
    in a specific quarter lobbied by the client
- int max_bills_sponsored: Maximum number of bills sponsored by the legislator
    in a specific quarter lobbied by the client
- int page: Page number of the results, default is 1

#### Returns:
- QuarterLevelNetworkResponse object containing the quarter-level network data


#### Example:
```python
>>> output = lobbyview.quarter_level_networks(client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3", legislator_id="M000303", report_year=2017, report_quarter_code=4)
>>> output.data[0]['n_bills_sponsored']
1

>>> output = lobbyview.quarter_level_networks(client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3", legislator_id="M000303", report_year=2017, report_quarter_code=4)
>>> print(output)
Quarter-Level Networks:
  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2017, Quarter: 4, Bills Sponsored: 1

>>> output = lobbyview.quarter_level_networks(min_bills_sponsored=0, max_bills_sponsored=2, client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3", legislator_id="M000303")
>>> print(output)
Quarter-Level Networks:
  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2006, Quarter: 34, Bills Sponsored: 1
  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2017, Quarter: 4, Bills Sponsored: 1
```

### Method: bill_client_networks

Gets bill-client network information from the LobbyView API based on the provided
parameters.


#### Parameters:
- int congress_number: Session of Congress
- str bill_chamber: Chamber of the legislative branch (Component of the
    bill_id composite key)
- str bill_resolution_type: Bill type (Component of the bill_id composite key)
- int bill_number: Bill number (Component of the bill_id composite key)
- str report_uuid: Unique identifier of the report
- int issue_ordi: An integer given to the issue
- str client_uuid: Unique identifier of the client
- int page: Page number of the results, default is 1

#### Returns:
- BillClientNetworkResponse object containing the bill-client network data


#### Example:
```python
>>> output = lobbyview.bill_client_networks(congress_number=114, bill_chamber="H", bill_number=1174, client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3")
>>> output.data[0]['issue_ordi']
2

>>> output = lobbyview.bill_client_networks(congress_number=114, bill_chamber="H", bill_number=1174, client_uuid="44563806-56d2-5e99-84a1-95d22a7a69b3")
>>> print(output)
Bill-Client Networks:
  Bill Number: 1174, Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Issue Ordi: 2
  Bill Number: 1174, Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Issue Ordi: 5
  Bill Number: 1174, Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Issue Ordi: 4
...

>>> output = lobbyview.bill_client_networks(bill_resolution_type=None, report_uuid='006bd48b-59cf-5cbc-99b8-fc213e509a86', issue_ordi=2)
>>> print(output)
Bill-Client Networks:
  Bill Number: 1174, Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Issue Ordi: 2
```


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "lobbyview",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": null,
    "keywords": "politics, lobbying",
    "author": null,
    "author_email": "lobbyview <lobbydata@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/4b/89/19d483b68514421dd978259f0e38157a12b075b8211d364b5db6dedfff85/lobbyview-0.0.3.tar.gz",
    "platform": null,
    "description": "# LobbyView Package Documentation\n\nThis module provides a Python interface to the LobbyView REST API. It uses the same endpoints\nand parameter names as outlined in the LobbyView REST API Documentation\n(https://rest-api.lobbyview.org/).\n\nThe LobbyView API provides comprehensive data on lobbying activities in the United States.\nThis includes information on:\n\n- Legislators: Details about the individuals involved in the legislative process.\n- Bills: Information about proposed laws and their progress.\n- Clients: Data on the entities that lobbyists represent.\n- Reports: Detailed reports on lobbying activities.\n- Issues: Government issues/areas that get lobbied on.\n- Networks: Connections and relationships in lobbying.\n- Texts: Written documents related to lobbying.\n- Quarter-level networks: Lobbying networks on a quarterly basis.\n- Bill-client networks: Connections between bills and the clients they affect.\n\nThis module also defines several custom exceptions to handle errors that may occur when\ninteracting with the LobbyView API.\n\n# Instructions\n\nImport a lobbyview token using os and dotenv\n\n```\nimport os\nfrom dotenv import load_dotenv\nload_dotenv(\".env\")\nLOBBYVIEW_TOKEN = os.environ.get('LOBBYVIEW_TOKEN')\n```\n\nInitialize a LobbyView object instance\n\n```\nfrom LobbyView import LobbyView\nlobbyview = LobbyView(LOBBYVIEW_TOKEN)\n```\n\nNote that ```quarter_level_networks``` and ```bill_client_networks``` API endpoints are not available to all users.\n\n# Classes and Methods\n\n## Class: LobbyView\n\nMain class for interacting with the LobbyView API.\n\n\n### Method: __init__\n\nInitialize the LobbyView class with the provided API token.\n\n\n#### Parameters:\n- str lobbyview_token: API token for the LobbyView API\n- bool test_connection: Whether to test the connection to the API\n\n\n### Method: get_data\n\nSends a GET request to the LobbyView API with the provided query string.\nReturns the JSON response data.\n\n\n#### Parameters:\n- str query_string: Query string for the API endpoint\n:return dict: JSON data from the API response\n:raises UnauthorizedError: If the API returns a 401 Unauthorized status code\n:raises TooManyRequestsError: If the API returns a 429 Too Many Requests status\n    code\n:raises PartialContentError: If the API returns a 206 Partial Content status code\n:raises UnexpectedStatusCodeError: If the API returns an unexpected status code\n:raises RequestError: If an error occurs during the request\n\n\n#### Example:\n```python\n>>> lobbyview.get_data('/api/invalid_endpoint')\nTraceback (most recent call last):\n...\nUnexpectedStatusCodeError: UnexpectedStatusCodeError\n\n>>> lobbyview.get_data('/api/legislators?invalid_param=value')\nTraceback (most recent call last):\n...\nUnexpectedStatusCodeError: UnexpectedStatusCodeError\n\n>>> lobbyview_invalid = LobbyView(\"invalid_token\", test_connection=False)\n>>> lobbyview_invalid.get_data('/api/legislators')\nTraceback (most recent call last):\n...\nUnauthorizedError: UnauthorizedError\n```\n\n### Method: paginate\n\nPaginates the data retrieval from the LobbyView API using lazy evaluation\nvia a generator that yields results one at a time.\n\n\n#### Parameters:\n- function func: The API endpoint function to be paginated.\n- dict kwargs: Additional keyword arguments to be passed to the API endpoint\n    function.\n\n#### Returns:\n- A generator object that yields paginated results one item at a time.\n:raises PartialContentError: If the API returns a 206 Partial Content status code\n:raises LobbyViewError: If a different error occurs during pagination\n\n\n#### Example:\n```python\n>>> for legislator in lobbyview.paginate(lobbyview.legislators, legislator_first_name=\"John\", legislator_last_name=\"McCain\"):\n...     print(f\"Legislator: {legislator['legislator_full_name']}\")\nRetrieving page 1...\nLegislator: John McCain\n\n>>> for bill in lobbyview.paginate(lobbyview.bills, congress_number=111, bill_chamber=\"H\", bill_number=4173):\n...     print(f\"Bill: {bill['bill_number']} - {bill['bill_chamber']}\")\nRetrieving page 1...\nBill: 4173 - H\n\n>>> for client in lobbyview.paginate(lobbyview.clients, client_name='InvalidClientName'):\n...     print(f\"Client: {client['client_name']} - NAICS: {client['primary_naics']}\")\nRetrieving page 1...\nError occurred: InvalidPageNumberError\n\n>>> for network in lobbyview.paginate(lobbyview.bill_client_networks, congress_number=114, bill_chamber=\"H\", bill_number=1174, client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\"):\n...     print(f\"Issue Ordi: {network['issue_ordi']}\")\nRetrieving page 1...\nIssue Ordi: 2\nIssue Ordi: 5\nIssue Ordi: 4\n...\n\n>>> for text in lobbyview.paginate(lobbyview.texts, issue_code=\"HCR\", issue_text=\"covid\"):\n...     print(f\"Issue Code: {text['issue_code']}\")\nRetrieving page 1...\nIssue Code: HCR\nIssue Code: HCR\n...\nIssue Code: HCR\nRetrieving page 2...\nIssue Code: HCR\nIssue Code: HCR\n...\n```\n\n### Method: legislators\n\nGets legislator information from the LobbyView API based on the provided\nparameters.\n\n\n#### Parameters:\n- str legislator_id: Unique identifier of the legislator from LobbyView\n- str legislator_govtrack_id: Unique identifier of the legislator from\n    GovTrack\n- str legislator_first_name: First name of the legislator\n- str legislator_last_name: Last name of the legislator\n- str legislator_full_name: Full name of the legislator\n- str legislator_gender: Gender of the legislator\n- str exact_birthday: Exact birthday of the legislator (YYYY-MM-DD)\n- str min_birthday: Minimum birthday of the legislator (YYYY-MM-DD)\n- str max_birthday: Maximum birthday of the legislator (YYYY-MM-DD)\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- LegislatorResponse object containing the legislator data\n\n\n#### Example:\n```python\n>>> output = lobbyview.legislators(legislator_first_name=\"John\", legislator_last_name=\"McCain\")\n>>> output.data[0]['legislator_id']\n'M000303'\n>>> output = lobbyview.legislators(legislator_id=\"M000303\")\n>>> output.data[0]['legislator_full_name']\n'John McCain'\n\n>>> output = lobbyview.legislators(legislator_first_name=\"John\", legislator_last_name=\"McCain\")\n>>> print(output)\nLegislators:\n  John McCain (ID: M000303)\n\n>>> output = lobbyview.legislators(legislator_govtrack_id=412755, legislator_full_name=\"TJ Cox\", legislator_gender=\"M\", min_birthday=\"1963-03-14\", max_birthday=\"1963-08-14\")\n>>> print(output)\nLegislators:\n  TJ Cox (ID: C001124)\n```\n\n### Method: bills\n\nGets bill information from the LobbyView API based on the provided parameters.\n\n\n#### Parameters:\n- int congress_number: Session of Congress\n- str bill_chamber: Chamber of the legislative branch\n    (Component of the bill_id composite key)\n- str bill_resolution_type: Bill type (Component of the bill_id composite\n    key)\n- int bill_number: Bill number (Component of the bill_id composite key)\n- str bill_state: Bill status\n- str legislator_id: Sponsor of the bill\n- str min_introduced_date: Minimum date of introduction to Congress\n    (YYYY-MM-DD)\n- str max_introduced_date: Maximum date of introduction to Congress\n    (YYYY-MM-DD)\n- str min_updated_date: Minimum date of most recent status change\n    (YYYY-MM-DD)\n- str max_updated_date: Maximum date of most recent status change\n    (YYYY-MM-DD)\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- BillResponse object containing the bill data\n\n\n#### Example:\n```python\n>>> output = lobbyview.bills(congress_number=111, bill_chamber=\"H\", bill_number=4173)\n>>> output.data[0]['bill_state']\n'ENACTED:SIGNED'\n\n>>> output = lobbyview.bills(congress_number=111, bill_chamber=\"H\", bill_number=4173)\n>>> print(output)\nBills:\n  4173 (Congress: 111, Sponsor: F000339)\n```\n\n### Method: clients\n\nGets client information from the LobbyView API based on the provided parameters.\n\n\n#### Parameters:\n- str client_uuid: Unique identifier of the client\n- str client_name: Name of the client\n- str min_naics: Minimum NAICS code to which the client belongs\n- str max_naics: Maximum NAICS code to which the client belongs\n- str naics_description: Descriptions of the NAICS code\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- ClientResponse object containing the client data\n\n\n#### Example:\n```python\n>>> output = lobbyview.clients(client_name=\"Microsoft Corporation\")\n>>> output.data[0]['client_uuid']\n'44563806-56d2-5e99-84a1-95d22a7a69b3'\n\n>>> output = lobbyview.clients(client_name=\"Microsoft Corporation\")\n>>> print(output)\nClients:\n  Microsoft Corporation (ID: 44563806-56d2-5e99-84a1-95d22a7a69b3)\n  PCT Government Relations on behalf of Microsoft Corporation (ID: 62eb98f6-ea3a-542d-abdb-7d2fce94b4f8)\n  Cornerstone Government Affairs obo Microsoft Corporation (ID: d6634602-1d0b-560d-b4ac-e04194782ad3)\n\n>>> output = lobbyview.clients(client_uuid='44563806-56d2-5e99-84a1-95d22a7a69b3', min_naics=511209, max_naics=511211, naics_description='Applications development and publishing')\n>>> print(output)\nClients:\n  Microsoft Corporation (ID: 44563806-56d2-5e99-84a1-95d22a7a69b3)\n```\n\n### Method: reports\n\nGets report information from the LobbyView API based on the provided parameters.\n\n\n#### Parameters:\n- str report_uuid: Unique identifier of the report\n- str client_uuid: Unique identifier of the client\n- str registrant_uuid: Unique identifier of the registrant\n- str registrant_name: Name of the registrant\n- int report_year: Year of the report\n- int min_report_year: Minimum year of the report\n- int max_report_year: Maximum year of the report\n- str report_quarter_code: Quarter period of the report\n- str min_amount: Minimum lobbying firm income or lobbying expense\n    (in-house)\n- str max_amount: Maximum lobbying firm income or lobbying expense\n    (in-house)\n- bool is_no_activity: Quarterly activity indicator\n- bool is_client_self_filer: An organization employing its own in-house\n    lobbyist(s)\n- bool is_amendment: Amendment of previous report\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- ReportResponse object containing the report data\n\n\n#### Example:\n```python\n>>> output = lobbyview.reports(report_year=2020, report_quarter_code=\"2\", is_client_self_filer=True, report_uuid=\"4b799814-3e94-5ee1-8dd4-b32aead9aca6\")\n>>> output.data[0]['amount']\n'$11,680,000.00'\n\n>>> output = lobbyview.reports(report_year=2020, report_quarter_code=\"2\", is_client_self_filer=True, report_uuid=\"4b799814-3e94-5ee1-8dd4-b32aead9aca6\")\n>>> print(output)\nReports:\n  4b799814-3e94-5ee1-8dd4-b32aead9aca6 (Year: 2020, Quarter: 2)\n```\n\n### Method: issues\n\nGets issue information from the LobbyView API based on the provided parameters.\n\n\n#### Parameters:\n- str report_uuid: Unique identifier of the report\n- int issue_ordi: An integer given to the issue\n- str issue_code: General Issue Area Code (Section 15)\n- str gov_entity: House(s) of Congress and Federal agencies (Section 17)\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- IssueResponse object containing the issue data\n\n\n#### Example:\n```python\n>>> output = lobbyview.issues(issue_code=\"TRD\")\n>>> output.data[0]['report_uuid']\n'00016ab3-2246-5af8-a68d-05af40dfde68'\n\n>>> output = lobbyview.issues(issue_code=\"TRD\")\n>>> print(output)\nIssues:\n  TRD (Report UUID: 00016ab3-2246-5af8-a68d-05af40dfde68, Issue Ordi: 2)\n  TRD (Report UUID: 0001f9b9-84d7-5ceb-af03-8987bb76d593, Issue Ordi: 1)\n  TRD (Report UUID: 00020868-67be-5975-955d-7ecab8d42e6e, Issue Ordi: 2)\n  TRD (Report UUID: 00040172-6cda-5b31-8d83-9c1bcfd4b289, Issue Ordi: 1)\n  TRD (Report UUID: 00047fc7-2207-5f3b-951d-692b9f35825b, Issue Ordi: 1)\n  TRD (Report UUID: 000759fa-dc93-5849-b1e5-7aa751e86433, Issue Ordi: 4)\n...\n```\n\n### Method: networks\n\nGets network information from the LobbyView API based on the provided parameters.\n\n\n#### Parameters:\n- str client_uuid: Unique identifier of the client\n- str legislator_id: Unique identifier of the legislator\n- int min_report_year: Minimum year of the report\n- int max_report_year: Maximum year of the report\n- int min_bills_sponsored: Minimum number of bills sponsored by the legislator\n    in a specific year lobbied by the client\n- int max_bills_sponsored: Maximum number of bills sponsored by the legislator\n    in a specific year lobbied by the client\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- NetworkResponse object containing the network data\n\n\n#### Example:\n```python\n>>> output = lobbyview.networks(client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\", legislator_id=\"M000303\")\n>>> output.data[0]['report_year']\n2006\n\n>>> output = lobbyview.networks(client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\", legislator_id=\"M000303\")\n>>> print(output)\nNetworks:\n  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2006, Bills Sponsored: 1\n  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2017, Bills Sponsored: 1\n\n>>> output = lobbyview.networks(min_report_year=2016, max_report_year=2018, min_bills_sponsored=0, max_bills_sponsored=2, client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\", legislator_id=\"M000303\")\n>>> print(output)\nNetworks:\n  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2017, Bills Sponsored: 1\n```\n\n### Method: texts\n\nGets issue text data from the LobbyView API based on the provided parameters.\n\n\n#### Parameters:\n- str report_uuid: Unique identifier of the report\n- int issue_ordi: An integer given to the issue\n- str issue_code: General Issue Area Code (Section 15)\n- str issue_text: Specific lobbying issues (Section 16)\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- TextResponse object containing the text data\n\n\n#### Example:\n```python\n>>> output = lobbyview.texts(issue_code=\"HCR\", issue_text=\"covid\")\n>>> output.data[0]['issue_ordi']\n1\n\n>>> output = lobbyview.texts(issue_code=\"HCR\", issue_text=\"covid\")\n>>> print(output)\nTexts:\n  Issue Code: HCR, Issue Text: HR 748 CARES Act - Issues related to COVID-19 relief\n...\n\n>>> output = lobbyview.texts(report_uuid='000bef17-9f0a-5d7c-8660-edca16e1dfce', issdue_ordi=1)\n>>> print(output)\nTexts:\n  Issue Code: HCR, Issue Text: HR 748 CARES Act - Issues related to COVID-19 relief\n```\n\n### Method: quarter_level_networks\n\nGets quarter-level network information from the LobbyView API based on the provided\nparameters.\n\n\n#### Parameters:\n- str client_uuid: Unique identifier of the client\n- str legislator_id: Unique identifier of the legislator\n- int report_year: Year of the report\n- str report_quarter_code: Quarter period of the report\n- int min_bills_sponsored: Minimum number of bills sponsored by the legislator\n    in a specific quarter lobbied by the client\n- int max_bills_sponsored: Maximum number of bills sponsored by the legislator\n    in a specific quarter lobbied by the client\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- QuarterLevelNetworkResponse object containing the quarter-level network data\n\n\n#### Example:\n```python\n>>> output = lobbyview.quarter_level_networks(client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\", legislator_id=\"M000303\", report_year=2017, report_quarter_code=4)\n>>> output.data[0]['n_bills_sponsored']\n1\n\n>>> output = lobbyview.quarter_level_networks(client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\", legislator_id=\"M000303\", report_year=2017, report_quarter_code=4)\n>>> print(output)\nQuarter-Level Networks:\n  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2017, Quarter: 4, Bills Sponsored: 1\n\n>>> output = lobbyview.quarter_level_networks(min_bills_sponsored=0, max_bills_sponsored=2, client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\", legislator_id=\"M000303\")\n>>> print(output)\nQuarter-Level Networks:\n  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2006, Quarter: 34, Bills Sponsored: 1\n  Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Legislator ID: M000303, Year: 2017, Quarter: 4, Bills Sponsored: 1\n```\n\n### Method: bill_client_networks\n\nGets bill-client network information from the LobbyView API based on the provided\nparameters.\n\n\n#### Parameters:\n- int congress_number: Session of Congress\n- str bill_chamber: Chamber of the legislative branch (Component of the\n    bill_id composite key)\n- str bill_resolution_type: Bill type (Component of the bill_id composite key)\n- int bill_number: Bill number (Component of the bill_id composite key)\n- str report_uuid: Unique identifier of the report\n- int issue_ordi: An integer given to the issue\n- str client_uuid: Unique identifier of the client\n- int page: Page number of the results, default is 1\n\n#### Returns:\n- BillClientNetworkResponse object containing the bill-client network data\n\n\n#### Example:\n```python\n>>> output = lobbyview.bill_client_networks(congress_number=114, bill_chamber=\"H\", bill_number=1174, client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\")\n>>> output.data[0]['issue_ordi']\n2\n\n>>> output = lobbyview.bill_client_networks(congress_number=114, bill_chamber=\"H\", bill_number=1174, client_uuid=\"44563806-56d2-5e99-84a1-95d22a7a69b3\")\n>>> print(output)\nBill-Client Networks:\n  Bill Number: 1174, Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Issue Ordi: 2\n  Bill Number: 1174, Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Issue Ordi: 5\n  Bill Number: 1174, Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Issue Ordi: 4\n...\n\n>>> output = lobbyview.bill_client_networks(bill_resolution_type=None, report_uuid='006bd48b-59cf-5cbc-99b8-fc213e509a86', issue_ordi=2)\n>>> print(output)\nBill-Client Networks:\n  Bill Number: 1174, Client UUID: 44563806-56d2-5e99-84a1-95d22a7a69b3, Issue Ordi: 2\n```\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "LobbyView Rest API Wrapper",
    "version": "0.0.3",
    "project_urls": {
        "LobbyViewRestAPI": "https://rest-api.lobbyview.org/"
    },
    "split_keywords": [
        "politics",
        " lobbying"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c51a51022882394502990bff8582b2ddbc6d358c32cadbc00532a7299196f8b6",
                "md5": "255689f03cf886d5c21d6b8f104975b7",
                "sha256": "a4017833672ddd21d017e655b0e088f179e20de38a6e95f26d015098f598e6d5"
            },
            "downloads": -1,
            "filename": "lobbyview-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "255689f03cf886d5c21d6b8f104975b7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 14036,
            "upload_time": "2024-05-03T01:59:04",
            "upload_time_iso_8601": "2024-05-03T01:59:04.919725Z",
            "url": "https://files.pythonhosted.org/packages/c5/1a/51022882394502990bff8582b2ddbc6d358c32cadbc00532a7299196f8b6/lobbyview-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b8919d483b68514421dd978259f0e38157a12b075b8211d364b5db6dedfff85",
                "md5": "1316ba37b618782521f7bcfa029cd679",
                "sha256": "449e3d6c2ac2b6de180581be651d2eec6e914552fd410f4342b9fbdb7e14b42f"
            },
            "downloads": -1,
            "filename": "lobbyview-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "1316ba37b618782521f7bcfa029cd679",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 16935,
            "upload_time": "2024-05-03T01:59:07",
            "upload_time_iso_8601": "2024-05-03T01:59:07.374837Z",
            "url": "https://files.pythonhosted.org/packages/4b/89/19d483b68514421dd978259f0e38157a12b075b8211d364b5db6dedfff85/lobbyview-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-03 01:59:07",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "lobbyview"
}
        
Elapsed time: 0.24965s