Parsy is an extremely elegant monadic parser combinator library for LL(infinity) grammars.
This library aims to enhance your developer experience (as well as catching a swathe of bugs before you run any test using static type checking with tools like Mypy) by providing type-hinting.
pip install parsy-stubs
I am not affiliated in any way with the original library.