github.com/jjeffery/mechturk

AWS Mechanical Turk SDK for Go language


Keywords
aws, golang, mechanical-turk
License
MIT
Install
go get github.com/jjeffery/mechturk

Documentation

AWS Mechanical Turk SDK for Go

GoDoc Build Status (Linux) Build status (Windows) license

No longer under development

This package was developed at a time when there was no officially supported Mechanical Turk SDK for Go. AWS have since added support for Mechanical Turk to the AWS SDK for Go. This package is retained for backwards compatibility, but will not receive any further enhancements. For any new development, use the offically supported SDK instead.

SDK

Package mechturk provides a Go SDK for the AWS Mechanical Turk Requester API.

Here is a simple example that invokes the GetAccountBalance operation:

package main

import (
  "log"
  "github.com/jjeffery/mechturk"
)

func main() {
	mt := mechturk.New()
	result, err := mt.GetAccountBalance(&mechturk.GetAccountBalanceRequest{})
	if err != nil {
		log.Fatal(err)
	}
	log.Println(mechturk.Prettify(result))
}

This program will produce output similar to:

{
  Request: {
    IsValid: "True"
  },
  AvailableBalance: {
    Amount: 10000,
    CurrencyCode: "USD",
    FormattedPrice: "$10,000.00"
  }
}

CLI

The subdirectory cmd/mechturk contains a command line client. Not all Mechanical Turk commands are supported yet -- commands are added as they are needed. Pull requests are welcome.

Example usage:

$ mechturk --sandbox get-account-balance
{
  Request: {
    IsValid: "True"
  },
  AvailableBalance: {
    Amount: 10000,
    CurrencyCode: "USD",
    FormattedPrice: "$10,000.00"
  }
}

API Stability

This project is still under development, and there is currently no guarantee of API stability. If you are planning to make use of this code in any sort of production environment, please consider vendoring the version you are using with your project.