Download

The latest version of ZestyParser is 0.7.0. Install it by running the command easy_install -U ZestyParser (requires setuptools). Or download a .egg for your Python version from the Python Cheese Shop, and rename the file to ZestyParser.pyc; you can then import it directly, courtesy of Squisher. The source distribution is also available there. Here are the release notes. ZestyParser is Free Software released under the terms of the GNU General Public License.

Warning: The current version's documentation is terrible. Please stand by for 0.8.0 or possibly something entirely different.

Executive summary



Background and philosophy

Parsing has long been a programming problem that has fascinated me. There are so many packages, so many theoretical approaches, even an abundance of Python implementations, but somehow I haven't been able to find one with a fully Pythonic feel and a complete range of functionality. That's the problem I'm trying to solve with ZestyParser. Here are some of the ways in which it differs from the norms of the Python parsing world.

Okay, enough about what ZestyParser isn't. What, then, is it? Well, you know it's a parser kit; it doesn't use a formal parsing algorithm like LL or LR, and as I said, it isn't even restricted to context-free grammars. If anything, it is a tool for concisely and Pythonically constructing recursive-descent-style parsers. I realize that some formal parsing algorithms are better suited to some grammars for their speed benefit, but ZestyParser is optimized for humans first, computers second. Try it out and see if it meets your parsing needs. If it doesn't, email me and let me know why; if it does, and you're using it in a released program, I'd be happy if you emailed me and let me know, so I can mention it on this page!


Resources

Examples

The source package includes several examples to show you what ZestyParser can do (though only the tip of the iceberg). I'm always adding more, because I love the warm fuzzy feeling you get from writing a concise and effective parser. (Um, everyone gets that feeling, right?)

Who's Using It?

Email me if you have a program you'd like added to this list! It would be nice to have more than one real entry on it.