Translation Gummy is a magical gadget which enables user to be able to speak and understand other languages.
Project description
Translation Gummy
Translation Gummy is a magical gadget which enables user to be able to speak and understand other languages.
Quick example
- example notebooks
- Translation:
- Python Module:
>>> from gummy import TranslationGummy >>> gummy = TranslationGummy(translator="deepl") DRIVER_TYPE: local >>> gummy.en2ja("This is a pen.") DeepLTranslator query no.1 01/15 [#-------------------] 6.67% - 1.091[s] 'これはペンです。'
- Command line:
$ gummy-translate "This is a pen." [success] local driver can be built. [failure] remote driver can't be built. DRIVER_TYPE: local DeepLTranslator query no.1 01/15 [#-------------------] 6.67% - 1.096[s] これはペンです。
Output
- Create PDF (with translation)
- Python Module:
>>> from gummy import TranslationGummy >>> gummy = TranslationGummy(gateway="utokyo", translator="deepl") >>> pdfpath = gummy.toPDF(url="https://doi.org/10.1038/171737a0", delete_html=True)
- Command line:
$ gummy-journal "https://doi.org/10.1038/171737a0"
Output
Installation
- Install
Translation-Gummy
(There are two ways to install):- Install from PyPI (recommended):
$ sudo pip install Translation-Gummy
- Alternatively: install PyGuitar from the GitHub source:
$ git clone https://github.com/iwasakishuto/Translation-Gummy.git $ cd Translation-Gummy $ sudo python setup.py install
- Install from PyPI (recommended):
- Install
wkhtmltopdf
- Debian/Ubuntu:
$ sudo apt-get install wkhtmltopdf
- macOS:
$ brew install Caskroom/cask/wkhtmltopdf
- Debian/Ubuntu:
- Install driver for
selenium
:Selenium
requires a driver to interface with the chosen browser, so please visit the documentation to install it.# Example: Chrome # visit "chrome://settings/help" to check your chrome version. # visit "https://chromedriver.chromium.org/downloads" to check <Suitable.Driver.Version> for your chrome. $ wget https://chromedriver.storage.googleapis.com/<Suitable.Driver.Version>/chromedriver_mac64.zip $ unzip chromedriver_mac64.zip $ mv chromedriver /usr/local/bin/chromedriver $ chmod +x /usr/local/bin/chromedriver
Environment Variable
When you use gateways
, you need to set environment variables in .env
file, or call a function with keyword argument.
>>> from gummy import gateways
>>> from gummy.utils import get_driver
>>> gateway = gateways.get("utokyo")
TRANSLATION_GUMMY_UTOKYO_GATEWAY_USERNAME is not set.
TRANSLATION_GUMMY_UTOKYO_GATEWAY_PASSWORD is not set.
EnvVariableNotDefinedWarning: Please set environment variable in /Users/iwasakishuto/.gummy/.env
- Set environment variables in
.env
file.>>> from gummy.utils import where_is_envfile, show_environ, write_environ, read_environ >>> default_dotenv_path = where_is_envfile() >>> print(f"default dotenv path: '{default_dotenv_path}'") default dotenv path: '/Users/iwasakishuto/.gummy/.env' # Write and update `.env` file. >>> write_environ( ... TRANSLATION_GUMMY_UTOKYO_GATEWAY_USERNAME="username", ... TRANSLATION_GUMMY_UTOKYO_GATEWAY_PASSWORD="password", >>> ) >>> show_environ(default_dotenv_path) TRANSLATION_GUMMY_UTOKYO_GATEWAY_USERNAM = "username" TRANSLATION_GUMMY_UTOKYO_GATEWAY_PASSWOR = "password" # Call with no kwargs. >>> gateway = gateways.get("utokyo") >>> with get_drive() as driver: ... driver = gateway.passthrough(driver) ... :
- Call a function with keyword argument.
# Call with kwargs. >>> with get_drive() as driver: ... driver = gateway.passthrough(driver, username="username", password="password") ... :
Naming conventions
>>> ENV_VARNAMES = "{1}_{2}_GATEWAY_{3}"
# 1 = TRANSLATION_GUMMY_ENVNAME_PREFIX (Define @gummy.utils.environ_utils.py)
# 2 = Uppercase of class name without 'GateWay'
# 3 = varnames, which is also the key of `keywargs`
Example
# ==============================================================================
# @gummy.utils.environ_utils.py
TRANSLATION_GUMMY_ENVNAME_PREFIX = "TRANSLATION_GUMMY"
# @gummy.gateways.py
class GummyAbstGateWay(metaclass=ABCMeta):
def __init__(self, url=None, verbose=1, env_varnames=[], dotenv_path=DOTENV_PATH):
self.env_varnames = [
TRANSLATION_GUMMY_ENVNAME_PREFIX + "_" + \
self.__class__.__name__.replace('GateWay', '').upper() + "_" + \
"GATEWAY_" + \
v.upper() for v in env_varnames
]
# ==============================================================================
>>> from gummy.gateways import GummyAbstGateWay
>>> class Hoge(GummyAbstGateWay):
... def __init__():
... super().__init__(env_varnames=["username"])
>>> hoge = Hoge()
>>> hoge.envvarnames = ["{1}_{2}_GATEWAY_{3}"]
# 1 = TRANSLATION_GUMMY_ENVNAME_PREFIX = "TRANSLATION_GUMMY"
# 2 = HOGE (= Hoge.upper())
# 3 = USERNAME (= username.upper())
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
Translation-Gummy-2.2.1.tar.gz
(51.2 kB
view hashes)
Built Distribution
Close
Hashes for Translation_Gummy-2.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b39468a4b4cb4e79dcc0fba7f600d5e0a3b6ef2ccac47b40945dc5fcc01de0ff |
|
MD5 | cbb93b0a08587c60fd6818c58b28ecad |
|
BLAKE2b-256 | b927c543fb241e5ec0ecbdd50806ac20962bdb8acaaccd86df0dcda5186a3d94 |