aio-yandex-translate

Yandex translate async api wrapper


Keywords
async-yandex, asyncio, python, translator, yandex-translate, yandex-translate-api, yandex-translation-api
License
GPL-3.0
Install
pip install aio-yandex-translate==1.1.1

Documentation

aio_yandex_translate

Async yandex.translate api wrapper for python

Example of usage

import asyncio
from aio_yandex_translate.translator import Translator
key = "TOKEN"

async def main():
    text = 'Hello world'
    print(text)
    t = Translator(key)
    r = await t.translate(text, to_language='ru')
    print(r)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

If you need to use proxies

import asyncio
from aio_yandex_translate.translator import Translator
key = "TOKEN"

async def main():
    text = 'Hello world'
    t = Translator(key, proxy="http://user:password@127.0.0.1:1080")
    r = await t.translate(text, to_language='ru')
    print(r)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

See aiohttp-proxy, it should also support socks proxies

Changing proxies on the go

import asyncio
from aio_yandex_translate.translator import Translator
key = "TOKEN"

async def main():
    text = 'Hello world'
    t = Translator(key, proxy="http://user:password@127.0.0.1:1080")
    r = await t.translate(text, to_language='ru')

    t.proxy = "http://user:password@localhost:1080"
    r = await t.translate(text, to_language='ru')
    print(r)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Detecting language

async def main():
    text = 'Hello world'
    t = Translator(key, proxy="http://user:password@127.0.0.1:1080")
    r = await t.detect_lang(text)
    print(r)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

To add a new hint you should use the function add_hint with passed lang parameter and in return you'll get bool value representing if it was added
To remove lang from hints:

from aio_yandex_translate.translator import Translator
key = "TOKEN"
translator = Translator(key)
translator.add_hint("en")
translator.hints.remove("en")

Explaining some details

To get to exceptions that module can throw you may go to Translator.exc and see classes of exceptions (TranslatorError is base)
The code is really short but i hope it will help you!