A client for the MTurk Crowd REST API
Project description
Prerequisites
To use this library, you’ll need first follow our account set-up instructions to set up your Mechanical Turk and AWS accounts to call the API.
Instantiating the client requires using a Session object from boto3 to authenticate. The boto3 docs describe how to manage your credentials in more detail.
Quick Start
First, install the library:
$ pip install mturk-crowd-beta-client
Then, from a Python interpreter or script, create your first task:
from mturk_crowd_beta_client import MTurkCrowdClient
from boto3.session import Session
import uuid
# This examples assume you have a local AWS profile called
# 'mturk-crowd-caller', but you can authenticate however you like,
# including by directly passing in your access key and secret key.
session = Session(profile_name='mturk-crowd-caller')
# Create the client
crowd_client = MTurkCrowdClient(session)
# For this example, we'll give our task a random, unique name. For real
# work, you'll probably want to pick a name based on your input source.
task_name = 'my-test-task-' + uuid.uuid4().hex
function_name = 'sentiment-analysis-test'
# Create the task
put_result = crowd_client.put_task(function_name,
task_name,
{'text': 'Everything is wonderful.'})
print('PUT response: {}'.format(
{'status_code': put_result.status_code, 'task': put_result.json()}))
# => PUT response: {
# 'status_code': 201,
# 'task': {'input': {'text': 'Everything is wonderful.'},
# 'problemDetails': None,
# 'result': None,
# 'state': 'processing',
# 'taskName': 'my-test-task-73fbfb29f2bc451d9696d11103dcaf0e'}
# }
# Get the task we just created. Note that for a production (i.e., non-test)
# task, we'd have to poll periodically until the task completed.
get_result = crowd_client.get_task(function_name, task_name)
print('GET response: {}'.format(
{'status_code': get_result.status_code, 'task': get_result.json()}))
# => GET response: {
# 'status_code': 200,
# 'task': {'input': {'text': 'Everything is wonderful.'},
# 'problemDetails': None,
# 'result': {'sentiment': 'positive'}
# 'state': 'completed',
# 'taskName': 'my-test-task-73fbfb29f2bc451d9696d11103dcaf0e'}
# }
Further Reading
Check out our usage instructions and API documentation for more details about how to use the API and this client.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file mturk-crowd-beta-client-1.0.0.tar.gz
.
File metadata
- Download URL: mturk-crowd-beta-client-1.0.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cee8b155225fae8b2397926bd3062c15b1cd38863c5bdcfddabfa4337439a558 |
|
MD5 | e543d6a248b740e9d33e51297ccaf999 |
|
BLAKE2b-256 | 0b73c3922c26604d0d0748ac0634f2a9bcb10c5d2a2e9d2dc0476ddb27c22467 |