OpenGrmPynini, like Thrax, compiles grammars expressed as strings, regular expressions, and context-dependent rewrite rules into weighted finite-state transducers. It uses the
OpenFst library and its Python extension to create, access and manipulate compiled grammars. Pynini is embedded in a Python module, allowing users to write Thrax-like grammars using Python's flexible syntax (including imperative programming constructs not available in Thrax) and powerful toolchain, including an interactive development ("REPL") environment. It is (loosely) named after Pāṇini (पाणिनि), the renowned Sanskrit grammarian.