A Python library to interface with the Gengo API for translation.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 259 commits behind gengo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status

Gengo Python Library (for the Gengo API)

Translating your tools and products helps people all over the world access them; this is, of course, a somewhat tricky problem to solve. Gengo is a service that offers human-translation (which is often a higher quality than machine translation), and an API to manage sending in work and watching jobs. This is a Python interface to make using the API simpler.

Installation & Requirements

Installing the library is fairly simple:

Get the repo:

git clone git://github.com/gengo/gengo-python.git

And then install the library:

sudo python setup.py install

This will also install the requests package. If you're running on a version of Python prior to 2.6, you'll need to install simplejson as well:

sudo pip install simplejson

Tests - Running Them, etc

Gengo has a full suite of unit tests. To run them, export your public and private keys in the shell like so:

export GENGO_PUBKEY='your public key here'
export GENGO_PRIVKEY='your private key here'

Then grab the source, then from the parent directory execute the tests file like so:

python gengo/tests.py

Note that some of the tests rely on some deferred actions so there are timeouts (sleep) which you might have to adjust.

To run a single test, such as TestTranslationJobFlowFileUpload:

python -m unittest -v gengo.tests.TestTranslationJobFlowFileUpload

Question, Comments, Complaints, Praise?

If you have questions or comments and would like to reach us directly, please feel free to do so at the following outlets. We love hearing from developers!

  • Email: api [at] gengo dot com
  • Twitter: @gengoit
  • IRC: #gengo

If you come across any issues, please file them on the Github project issue tracker. Thanks!


Full documentation can be found here, but anyone should be able to get a working script with the following:

from gengo import Gengo

gengo = Gengo(

print gengo.getAccountBalance()

All function definitions can be found inside gengo/mockdb.py as a dictionary: the key of the dictionary entry is the function name, and the parameters are exactly the same as specified in the Gengo API docs.