OpenGrm Pynini: Finite-state grammar development in Python
Version 2.1.4 is now available for download.

Pynini is now available on
conda-forge
. Linux (x86) and
MacOS users who already have
Conda
can install Pynini and all dependencies using the following command:
conda install -c conda-forge pynini

Linux (x86) users can now install precompiled
manylinux
wheels for Pynini directly from
PyPI. Unlike the conda-forge installation method mentioned above, this does not install
OpenFst
command-line tools, does not install the
Graphviz
command-line tools
Jupyter
uses to generate state diagrams, and does not work on
MacOS. To install a Pynini wheel use the following command:
pip install pynini

When using Pynini from a
Jupyter
or
Colab
notebook, logging and error messages sent to standard error are lost. To recover them, install
wurlitzer

and then add the following at the top of your notebook:
%load_ext wurlitzer
OpenGrm Pynini, 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.
For more information about Pynini, see:
Other third-party information: