The 3.0 release of pyparsing includes some nice extensions over its older 2.x code base, including LR parsing support and railroad diagram generation. Also, PEP-8 API naming has been added (but with pre-PEP-8 synonyms defined for legacy compatibility).
https://github.com/pyparsing/pyparsing
(Disclosure: I am the author of pyparsing.)