metamorph

Submodules

Package Contents

Classes

Config

Defines the language flow to generate alternative texts.

Functions

generate_alternatives(text, conf)

Generate alternatives for text using Config conf.

translate(translator, source, target, text[, api_key, ...])

Translate text from source language to target language using translator translator.

class metamorph.Config(file: str = None, start='en', goal='en', translator='GoogleTranslator', proxies=None, api_keys=None, flow=None, color='green', on_color='on_red')[source]

Defines the language flow to generate alternative texts.

get_api_key(translator)[source]

Returns the api key for translator.

load_file(file: str)[source]

Loads a configuration file.

default_extra(direct, k)[source]

Adds default keys to dictionary at direct[k].

fill_missing(direct)[source]

Sets default extras for missing elements in dictionary.

str_diagram(nodes='language', arrows=None)[source]

Prints a diagram of the language flow.

_recursive_get_str_max_length(sub, key)[source]
_recursive_str_diagram(sub, kk, depth=1, lines=None, nodes='language', arrows=None, len_nodes=None, len_arrows=None)[source]
metamorph.generate_alternatives(text, conf)[source]

Generate alternatives for text using Config conf.

Parameters:
  • text – Text to generate alternatives for.

  • conf – Config to use.

Returns:

List of alternatives.

Example::
>>> from metamorph.config import Config
>>> "Hello World!" in generate_alternatives("Hallo world!",Config(flow={"de":None,"fr":None,"es":None}))
True
>>> "Hallo Welt!" in generate_alternatives("Hello world!",Config(start="de",goal="de",flow={"en":None,"fr":None,"es":None}))
True
>>> "Hello World!" in generate_alternatives("Hallo world!",Config("configs/default_config.yaml"))
True
metamorph.translate(translator, source, target, text, api_key=None, proxies=None, quiet=False, verbose=True)[source]

Translate text from source language to target language using translator translator. :param translator: Translator to use (from deep_translator).

Parameters:
  • source – Source language.

  • target – Target language.

  • text – Text to translate.

  • quiet – If True, don’t print anything.

  • verbose – If True, print error messages.

Returns:

Translated text.

Example::
>>> translate(GoogleTranslator, "en", "de", "Hello world!")
'Hallo Welt!'