TatSu takes a grammar in a variation of EBNF as input, and outputs a memoizing PEG/Packrat parser in Python.
conda install conda-forge::tatsu
conda install conda-forge/label/cf202003::tatsu