Skip to main content

a wrapper for using Task Analytics APIs and downloading survey responses

Project description

Task Analytics Data Wrapper

Ruff

This is a wrapper for Task Analytics APIs. You can use it to download survey responses and metadata for each survey.

Install with

pip install taskanalytics-data-wrapper

or

uv add taskanalytics-data-wrapper

Supported APIs

Log in to Task Analytics

import taskanalytics_data_wrapper.taskanalytics_api as task

You can log in with email and password

status = log_in_taskanalytics(username=email, password=password)  
status.status_code

Download Survey responses

You can download survey responses for a Top Task survey using the survey ID, email, password and setting a path for where to store the file.

import taskanalytics_data_wrapper.taskanalytics_api as task

get_survey = task.download_survey(
    username=email, password=password, survey_id="03324", filename="data/survey.csv"
)
get_survey.status_code

Download Survey metadata

You can download the survey metadata which includes the questions and response options for each survey using the survey ID, email and password.

survey_metadata = task.get_survey_metadata(
    username=email,
    password=password,
    survey_id="03419",
    filename_path="data/metadata_survey.json",
)
survey_metadata.status_code

The object can be easily inspected transformed into a dictionary for analysis

survey_metadata.text # survey metadata
our_dict = survey_metadata.json() # convert string to dict and store as a variable

Download Discovery survey responses

You can download responses from open ended task discovery surveys as well

get_openended_survey = task.download_discovery_survey(
    username=email,
    password=password,
    organization_id=organization,
    survey_id="03230",
    filename_path="data/open_ended_survey.json",
)

See how to turn this into csv in the code example below by expanding

Expandable example
data = get_openended_survey.json()

#create a new dict from our subset of data
def flatten_openended_dict(data):
    """ """
    respondent = []
    completion = []
    category = []
    discovery = []
    comment = []
    for i in data:
        respondent.append(i["id"])
        completion.append(i["completion"])
        category.append(i["category"])
        discovery.append(i["answers"]["discovery"])
        try:
            comment.append(i["answers"]["comment"])
        except:
            comment.append("")
    newlist = [
        {
            "id": respondent,
            "completion": completion,
            "category": category,
            "discovery": discovery,
            "comment": comment,
        }
        for respondent, completion, category, discovery, comment in zip(
            respondent, completion, category, discovery, comment
        )
    ]
    return newlist


newlist = flatten_openended_dict(data["responses"])

# write open ended survey to csv with your preferred encoding and delimiter
keys = newlist[0].keys()

with open("data/open_survey.csv", "w", encoding="utf-8-sig", newline="") as output_file:
    writer = csv.DictWriter(output_file, fieldnames=keys, delimiter=";")
    writer.writeheader()
    writer.writerows(newlist)

Download organization metadata

Get all the organization account metadata including the list of all survey IDs

# Get all organization settings including surveys from task analytics
get_organization = task.get_organization_metadata(
    username=email,
    password=password,
    organization_id=organization,
    filename_path="data/organization.json",
)
get_organization.status_code 

# %%
get_organization.json()  # read response as json

Project details


Download files

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

Source Distribution

taskanalytics_data_wrapper-0.2.7.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taskanalytics_data_wrapper-0.2.7-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file taskanalytics_data_wrapper-0.2.7.tar.gz.

File metadata

File hashes

Hashes for taskanalytics_data_wrapper-0.2.7.tar.gz
Algorithm Hash digest
SHA256 74ed41bea7976c3ac0e3defeae61bcb914383c2208ee8a65f6f7f9abd3b0dfa1
MD5 5f8f00bb0deaaefa123e129ea9c819c7
BLAKE2b-256 4a62a035376e4b8cffe06abe2ae2a1d69df31afd006cfa8bf11c9c41d66c6ef8

See more details on using hashes here.

File details

Details for the file taskanalytics_data_wrapper-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for taskanalytics_data_wrapper-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e839cb4a4150d566e343b1cc97cfdb202906b4642fce488238c0a4737337d462
MD5 e9f682c738e1ed603afa7fe58468f586
BLAKE2b-256 b541a74947c0a34db7d93fea0f1c8779aef8572db9acd715cf1109e08ac8628c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page