import os finder = None def init(): try: import jpype import jpype.imports except ModuleNotFoundError: raise ModuleNotFoundError( "Belarusian phonemizer requires to install module 'jpype1' manually. Try `pip install jpype1`." ) try: jar_path = os.environ["BEL_FANETYKA_JAR"] except KeyError: raise KeyError("You need to define 'BEL_FANETYKA_JAR' environment variable as path to the fanetyka.jar file") jpype.startJVM(classpath=[jar_path]) # import the Java modules from org.alex73.korpus.base import GrammarDB2, GrammarFinder grammar_db = GrammarDB2.initializeFromJar() global finder finder = GrammarFinder(grammar_db) def belarusian_text_to_phonemes(text: str) -> str: # Initialize only on first run if finder is None: init() from org.alex73.fanetyka.impl import FanetykaText return str(FanetykaText(finder, text).ipa)