
Security News
minimatch Patches 3 High-Severity ReDoS Vulnerabilities
minimatch patched three high-severity ReDoS vulnerabilities that can stall the Node.js event loop, and Socket has released free certified patches.
adapapi
Advanced tools
Appen(api_key)
:
### Methods
`bonus_contributor(self, job_id, worker_id, amount_in_cents)`
: Max at one time is $20.00 or 2000 cents
Args:
job_id (int): ADAP Job ID
worker_id (int): ADAP Contributor ID
amount_in_cents (int): Amount in cents. The max amount to bonus per API request is $20.00. Function will split out your amount in max $20.00 chunks + remainder if more than $20.00 is to be bonused.
`delete_unit(self, job_id, unit_id)`
: Units cannot be deleted from a running or paused job.
Args:
job_id (int): ADAP job ID
unit_id (int): ADAP Unit ID
`deprecate_job(self, job_id)`
: Deprecating an ADAP job.
Args:
job_id (int): ADAP job ID
`download_jobid(self, job_id, reporttype, to_csv=False)`
: Recommended to regenerate report first. Downloads ADAP report to DataFrame object or CSV file.
Args:
job_id (int): ADAP Job ID
reporttype (str): ADAP report type -- full, aggregated, json, gold_report, workset, source
to_csv (bool): True if report should be saved to CSV, False if report to output as DataFrame object
Returns:
Pandas dataframe: Pandas dataframe of report
`download_jobid_list(self, list_job_ids, reporttype, outfile_concat=False)`
: Download reports from a list of job IDs
Args:
list_job_ids (list): list of job IDs
reporttype (str): ADAP report type -- full, aggregated, json, gold_report, workset, source
outfile_concat (boolean): Option to concat all of the downloaded reports into one Pandas dataframe. Default is set to False.
Returns:
Pandas dataframe: Dependent on outfile_concat flag, will return concatenated dataframe of all listed job IDs
`duplicate_job(self, job_id, include_uploaded_rows=False, include_tq=False)`
: Duplicate ADAP job
Args:
job_id (int): ADAP Job ID
include_uploaded_rows (bool): Flag to include previously uploaded rows. Includes test questions if present. Default set to False.
include_tq (bool): Flag to include test questions only.
Returns:
int: New ADAP Job ID
`get_all_jobs(self):
"""Retrieves list of all jobs.
More information https://developer.appen.com/#tag/Account-Info/paths/~1jobs.json/get
Returns:
list: List of all jobs.
"""
`filter_jobs_by_tag(self, tag)`
: Retrieves list of job IDs with associated tag.
More information https://developer.appen.com/#tag/Account-Info/paths/~1jobs.json/get
Args:
tag (str): For multiple tags, delimit by comma. eg. 'tag1, tag2'
Returns:
list: List of job IDs with tag
`filter_jobs_by_title(self, title):
"""Retrieves list of job IDs with associated title.
More information https://developer.appen.com/#tag/Account-Info/paths/~1jobs.json/get
Args:
title (str): keywords to search for in job title
Returns:
list: List of jobs with title
"""
`filter_jobs_by_copied_from(self, copied_from):
"""Retrieves list of job IDs with associated copied_from job_id.
More information https://developer.appen.com/#tag/Account-Info/paths/~1jobs.json/get
Args:
copied_from (int): fileter jobs by the job id they were copied from
Returns:
list: List of jobs copied from the copied_from_id
`get_unit_state(self, job_id, unit_id)`
: Retrieves current unit state within job
Args:
job_id (int): ADAP Job ID
unit_id (int): ADAP Unit ID
Returns:
dict: Dictionary containing _unit_id and _unit_state
`get_unit_state_row(self, job_id, row)`
: Retrieves current unit state within job. To be used when row data needs to be returned.
Args:
job_id (int): ADAP Job ID
row (Pandas Series or dictionary): Row from ADAP report
Returns:
dict: Dictionary containing all data within row and _unit_state
`internal_launch(self, job_id, units_to_launch)`
: Launching job internally
Args:
job_id (int): ADAP Job ID
units_to_launch (int or str): Provide number of units to launch OR use "all" to launch all units.
Returns:
int: Number of units launched
`job_json(self, job_id)`
: Get job json
Args:
job_id (int): ADAP Job ID
Returns:
dict: Job JSON
`job_summary(self, job_id)`
: Getting job stats
Args:
job_id (int): ADAP Job ID
Returns:
dict: Returns golden_units, all_units, ordered_units, completed_units_estimate, needed_judgments, all_judgments, tainted_judgments, completed_gold_estimate, completed_non_gold_estimate
`regenerate_jobid(self, job_id, reporttype)`
: Regenerates ADAP job
Args:
job_id (int_or_list): ADAP Job ID. If a list of job IDs provided, will regenerate them sequentially
reporttype (str): ADAP report type -- full, aggregated, json, gold_report, workset, source
`split_column(self, job_id, columnname, character)`
: Corresponds to the "Split Column" button in platform UI. This operation will split the contents of a column on a certain character, transforming strings into arrays of strings.
Args:
job_id (int): ADAP Job ID
columnname (str): Column name
character (str): Delimiting character
`tag_add(self, job_id, tag)`
: Adding new tags. https://developer.appen.com/#tag/Manage-Job-Settings/paths/~1jobs~1{job_id}~1tags/post
Args:
job_id (int): ADAP Job ID
tag (str): For multiple tags, delimit by comma. eg. 'tag1, tag2'
`tag_get(self, job_id)`
: Tagging jobs. https://developer.appen.com/#tag/Manage-Job-Settings/paths/~1jobs~1{job_id}~1tags/post
Args:
job_id (int): ADAP Job ID
Returns:
list: List of tags attached to ADAP Job
`tag_replace(self, job_id, tag)`
: Replacing existing tags with new tags. https://developer.appen.com/#tag/Manage-Job-Settings/paths/~1jobs~1{job_id}~1tags/post
Args:
job_id (int): ADAP Job ID
tag (str): For multiple tags, delimit by comma. eg. 'tag1, tag2'
`unit_json(self, job_id, unit_id)`
: Get unit json
Args:
job_id (int): ADAP Job ID
unit_id (int): ADAP Unit ID
Returns:
dict: Unit JSON
`update_job_json(self, job_id, indict)`
: Updating job settings
Args:
job_id (int): ADAP Job ID
indict (dict): Dictionary of items to update within job json
`update_unit_state(self, job_id, unit_id, state)`
: Updating unit state
Args:
job_id (int): ADAP job ID
unit_id (int): ADAP Unit ID
state (str): One of the following -- new, golden, finalized, canceled, deleted
`upload(self, data_to_upload, job_id=None)`
: Uploads CSV (specify path), list of dictionaries, a single dictionary, or DataFrame. If no job ID is specified, a new job will be created.
Args:
data_to_upload (pd.DataFrame_or_str_or_list_or_dict): DataFrame object, path to CSV file, list of dictionaries, or single dictionary
job_id (int): ADAP Job ID. If None then a new job will be created
FAQs
A simple Python package using Appen API
We found that adapapi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
minimatch patched three high-severity ReDoS vulnerabilities that can stall the Node.js event loop, and Socket has released free certified patches.

Research
/Security News
Socket uncovered 26 malicious npm packages tied to North Korea's Contagious Interview campaign, retrieving a live 9-module infostealer and RAT from the adversary's C2.

Research
An impersonated golang.org/x/crypto clone exfiltrates passwords, executes a remote shell stager, and delivers a Rekoobe backdoor on Linux.