Parcon is a Python parser combinator library written by Alexander Boyd. It's designed to be easy to learn, easy to use, and to provide informative error messages.
Parcon also allows parsing using BNF grammars.