Easy-to-use parser combinators, for parsing in pure Python


Keywords
parser, parsers, parsing, monad, combinators
License
MIT
Install
pip install parsy==2.1

Documentation

parsy

Documentation Status Build Status Codecov Downloads

Parsy is an easy and elegant way to parse text in Python by combining small parsers into complex, larger parsers. If it means anything to you, it's a monadic parser combinator library for LL(infinity) grammars in the spirit of Parsec, Parsnip, and Parsimmon. But don't worry, it has really good documentation and it doesn't say things like that!

Parsy requires Python 3.7 or greater.

For a good example of the kind of clear, declarative code you can create using parsy, see the SQL SELECT statement example or JSON parser.

Links:

To contribute, please create a fork and submit a pull request on GitHub, after checking the contributing section of the docs. Thanks!

If you like parsy and think it should be better known, you could:

  • Star this project on GitHub.
  • Vote for it being included on awesome-python.

Parsy was originally written by Jeanine Adkisson, with contributions by other people as can be found in the git commit history.