Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

Python parsing module

Project description

PyParsing -- A Python Parsing Module


The pyparsing module is an alternative approach to creating and executing
simple grammars, vs. the traditional lex/yacc approach, or the use of
regular expressions. The pyparsing module provides a library of classes
that client code uses to construct the grammar directly in Python code.

Here is a program to parse "Hello, World!" (or any greeting of the form
"<salutation>, <addressee>!"):

from pyparsing import Word, alphas
greet = Word( alphas ) + "," + Word( alphas ) + "!"
hello = "Hello, World!"
print hello, "->", greet.parseString( hello )

The program outputs the following:

Hello, World! -> ['Hello', ',', 'World', '!']

The Python representation of the grammar is quite readable, owing to the
self-explanatory class names, and the use of '+', '|' and '^' operator

The parsed results returned from parseString() can be accessed as a
nested list, a dictionary, or an object with named attributes.

The pyparsing module handles some of the problems that are typically
vexing when writing text parsers:
- extra or missing whitespace (the above program will also handle
"Hello,World!", "Hello , World !", etc.)
- quoted strings
- embedded comments

The .zip file includes examples of a simple SQL parser, simple CORBA IDL
parser, a config file parser, a chemical formula parser, and a four-
function algebraic notation parser. It also includes a simple how-to
document, and a UML class diagram of the library's classes.


Do the usual:

python install

(pyparsing requires Python 2.6 or later.)

Or corresponding commands using pip, easy_install, or wheel:

pip install pyparsing

easy_install pyparsing

wheel install pyparsing





MIT License. See header of


See CHANGES file.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pyparsing-2.2.0-py2.py3-none-any.whl (56.4 kB) Copy SHA256 hash SHA256 Wheel 3.5
pyparsing-2.2.0.tar.gz (1.2 MB) Copy SHA256 hash SHA256 Source None
pyparsing-2.2.0.win32-py2.6.exe (253.3 kB) Copy SHA256 hash SHA256 Windows Installer any
pyparsing-2.2.0.win32-py2.7.exe (253.3 kB) Copy SHA256 hash SHA256 Windows Installer any
pyparsing-2.2.0.win32-py3.3.exe (248.1 kB) Copy SHA256 hash SHA256 Windows Installer any
pyparsing-2.2.0.win32-py3.4.exe (248.1 kB) Copy SHA256 hash SHA256 Windows Installer any
pyparsing-2.2.0.win32-py3.5.exe (517.5 kB) Copy SHA256 hash SHA256 Windows Installer any

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page