PDI¶
Overview¶
PDI is a political data provider that is primarily active in California. This class allows you to interact with the PDI API .
This Parsons connector provides methods to fetch lists of acquisition types, flag IDs, questions, universes, and flags given start and end dates.
Note
- Authentication
- A user name, password, and API token are required to instantiate the
PDI
class. To obtain log in credentials, request a PDI API account fromsupport@politicaldata.com
. The administrative process usually takes a couple of hours.
Quickstart¶
To instantiate the PDI class, you can either store your PDI API username, password,
and API token as environmental variables (PDI_USERNAME
, PDI_PASSWORD
, and
PDI_API_TOKEN
, respectively) or pass them in as arguments:
from parsons import PDI
# First approach: Use API credentials via environmental variables
pdi = PDI()
# Second approach: Pass API credentials as arguments
pdi = PDI(username='my_username', password='my_password', api_token='my_token')
# Get all contacts (flag IDs) available from PDI
pdi.get_flag_ids()
# Get all flags since the beginning of 2020
pdi.get_flags(start_date='2020-01-01')
PDI Class¶
-
class
parsons.
PDI
(username=None, password=None, api_token=None, qa_url=False)[source]¶ -
create_flag_id
(flag_id, is_default, flag_description=None, compile=None)¶ Save a new flag id.
- Args:
- flag_id: str
- The flag id type. One of: “AMM”, “BNH”, “BNM”, “DEAD”, “DNC”, “DNR”, “ENDR”, “GTD”, “HH”, “L2VT”, “LBO”, “LM”, “LO”, “LS”, “LSD”, “LSR”, “MAYBE”, “MOV”, “NAH”, “NO”, “REF”, “SO”, “SS”, “SUP”, “U”, “UL2VT”, “VL2VT”, “VOL”, “VTD”.
- is_default: bool
- The default.
- flag_description: str
- (Optional) The flag id description.
- compile: str
- (Optional) The compile.
- Returns:
- str
- The identifier for the new flag id.
-
delete_flag_id
(id)¶ Delete a flag id.
NOTE: The function returns True (even if the id doesn’t exist) unless there is an error.
- Args:
- id: str
- The flag id identifier.
- Returns:
- bool
- True if the operation is successful.
-
get_acquisition_types
(limit=None)¶ Get a list of Acquisition Types.
- Args:
- limit: int
- Specify limit to return.
- Returns:
- parsons.Table
- A Parsons table of all the data.
-
get_flag_id
(id)¶ Get a specified flag id.
- Args:
- id: str
- The flag id identifier.
- Returns:
- dict
- FlagID object.
-
get_flag_ids
(limit=None)¶ Get a list of flag ids.
- Args:
- limit: int
- Specify limit to return.
- Returns:
- parsons.Table
- A Parsons table of all the data.
-
get_flags
(start_date, end_date, limit=None)¶ Get a list of flags.
- Args:
- start_date: str
- A start date formatted like yyyy-MM-dd.
- end_date: str
- An end date formatted like yyyy-MM-dd.
- limit: int
- Specify limit to return.
- Returns:
- parsons.Table
- A Parsons table of all the data.
-
get_questions
(limit=None)¶ Get a list of Questions.
- Args:
- limit: int
- Specify limit to return.
- Returns:
- parsons.Table
- A Parsons table of all the data.
-
get_universes
(limit=None)¶ Get a list of Universes.
- Args:
- limit: int
- The number of universes to return.
- Returns:
- parsons.Table
- A Parsons table of all the data.
-
update_flag_id
(id, flag_id, is_default, flag_description=None, compile=None)¶ Update a flag id.
- Args:
- id: str
- The flag id identifier.
- flag_id: str
- The flag id type. One of: “AMM”, “BNH”, “BNM”, “DEAD”, “DNC”, “DNR”, “ENDR”, “GTD”, “HH”, “L2VT”, “LBO”, “LM”, “LO”, “LS”, “LSD”, “LSR”, “MAYBE”, “MOV”, “NAH”, “NO”, “REF”, “SO”, “SS”, “SUP”, “U”, “UL2VT”, “VL2VT”, “VOL”, “VTD”.
- is_default: bool
- The default.
- flag_description: str
- (Optional) The flag id description.
- compile: str
- (Optional) The compile.
- Returns:
- str
- The identifier for the udpated flag id.
-