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:
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( public_key='your_public_key', private_key='your_private_key', sandbox=True, ) 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.