Package: dynatademand
python-demandapi-clientA Python client library for theDynata Demand API. There are alsogoand.NETclients available.SetupYou can install the Demand API client with:pip install dynatademandYou can provide your Demand API credentials in a couple of ways. They can be set in the environment (a sample config is provided in.env-example) or you can provide them while creating the client object.Example Usage# You can optionally provide your credentials here instead of environment variables.demandapi=DemandAPIClient("client_id","username","password")demandapi.authenticate()# Any function requiring one or more IDs should be provided as positional arguments.demandapi.get_project(7)# Provide query parameters as keyword-arguments.demandapi.get_projects(state="LAUNCHED")# Functions that send data in a request body accept a python dictionary.# Your data will be validated against the schemas provided in the Demand API documentation.project_data={'title':'My New Survey',...}demandapi.create_project(project_data)Supported API FunctionsLinks to the Demand API documentation are included for each function.Authentication FunctionsObtain Access Token: authenticate()Refresh Access Token: refresh_access_token()Logout: logout()Event FunctionsGet Event: get_event(event_id)Get Events: get_events(**kwargs)Project FunctionsBuy Project: buy_project(project_id, buy_data)Close Project: close_project(project_id)Create Project: create_project(project_data)Get Project: get_project(project_id)Get Projects: get_projects(**kwargs)Update Project: update_project(project_id, update_data)Get Project Detailed Report: get_project_detailed_report(project_id)Get Pricing & Feasibility: get_feasibility(project_id)Get Invoice PDF: get_invoice(project_id)Get Invoices Summary PDF: get_invoices_summary(**kwargs)Line Item FunctionsAdd Line Item: add_line_item(project_id, lineitem_data)Close Line Item: close_line_item(project_id, line_item_id)Get Line Item: get_line_item(project_id, line_item_id)Get Line Items: get_line_items(project_id, **kwargs)Launch Line Item: launch_line_item(project_id, line_item_id)Pause Line Item: pause_line_item(project_id, line_item_id)Update Line Item: update_line_item(project_id, line_item_id, line_item_data)Get Line Item Detailed Report: get_line_item_detailed_report(project_id, line_item_id)Launch Quota cell: set_quotacell_status(project_id, line_item_id, quota_cell_id, launch)Pause Quota cell: set_quotacell_status(project_id, line_item_id, quota_cell_id, pause)Misc FunctionsGet Attributes: get_attributes(country_code, language_code, **kwargs)Get Countries: get_countries(**kwargs)Get Sources: get_sources()Get Survey Topics: get_survey_topics(**kwargs)ContributingInformation oncontributing.TestingTo run the tests, you will need to install the development requirements to your environment. It's recommended to create a virtual environment for your installation to avoid any package conflicts.You can check out the code by running:git clone https://github.com/dynata/python-demandapi-client.git
cd python-demandapi-clientAnd you can create an environment by running:# If you're using Python 2.7
virtualenv venv

# Or if you're using Python 3:
python3 -m venv venv

source venv/bin/activate
pip install -r requirements.txtWhile your virtual environment is activated, you can runpytest teststo run the tests.