Funcparserlib
Recursive descent parsing library for Python based on functional
combinators.
Parsers made with funcparserlib are pure-Python LL(*) parsers. It means
that it's very easy to write parsers without thinking about lookaheads
and other hardcore parsing stuff. However, recursive descent parsing is
a rather slow method compared to LL(k) or LR(k) algorithms. Still,
parsing with funcparserlib is at least twice faster than PyParsing, a
very popular library for Python.
The source code of funcparserlib is only 1.2K lines of code, with lots
of comments. Its API is fully type hinted. It features the longest
parsed prefix error reporting, as well as a tiny lexer generator for
token position tracking.