pyparsing: A Python Library for Creating PEG Parsers
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
pyparsing is a Python library that offers an alternative to traditional lex/yacc or regular expressions for creating simple grammars. It allows developers to construct parsers directly in Python code, leveraging a Parsing Expression Grammar (PEG) approach. This library simplifies handling common parsing challenges like whitespace, quoted strings, and embedded comments, making text processing more intuitive.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
pyparsing is a powerful Python library designed for creating Parsing Expression Grammars (PEGs) directly within Python code. It provides an intuitive and readable alternative to traditional parser generators like lex/yacc or complex regular expressions. With pyparsing, you define your grammar using a collection of classes and operators, making the parsing logic clear and concise. This approach simplifies the development of parsers for various text formats, from simple greetings to complex configuration files and domain-specific languages.
Installation
To get started with pyparsing, you can easily install it using pip:
pip install pyparsing
Examples
pyparsing's strength lies in its readability and ease of use. Here's a classic "Hello, World!" example demonstrating how to parse a simple greeting:
from pyparsing import Word, alphas
greet = Word(alphas) + "," + Word(alphas) + "!"
hello = "Hello, World!"
print(hello, "->", greet.parse_string(hello))
This program will output:
Hello, World! -> ['Hello', ',', 'World', '!']
The parse_string() method returns a ParseResults object, which can be accessed like a nested list, a dictionary, or an object with named attributes, offering great flexibility in handling parsed data.
Why Use pyparsing?
pyparsing addresses several common pain points in text parsing:
- Flexibility with Whitespace: It automatically handles extra or missing whitespace, allowing for variations like "Hello,World!" or "Hello , World !".
- Quoted Strings and Comments: The library provides built-in support for parsing quoted strings and embedded comments, reducing boilerplate code.
- Readability: Grammars are defined directly in Python, using self-explanatory class names and operator overloads (
+,|,^), which enhances code readability and maintainability. - Rich Examples: The project includes a diverse
examplesdirectory, showcasing parsers for SQL, CORBA IDL, config files, chemical formulas, and algebraic notation, demonstrating its versatility.
Links
- GitHub Repository: https://github.com/pyparsing/pyparsing
- Online Documentation: https://pyparsing-docs.readthedocs.io/en/latest/
- GitHub Wiki: https://github.com/pyparsing/pyparsing/wiki
- Examples Directory: https://github.com/pyparsing/pyparsing/tree/master/examples
Related repositories
Similar repositories that may be relevant next.
python-nameparser: A Robust Python Module for Parsing Human Names
July 30, 2026
python-nameparser is a powerful Python module designed to accurately parse human names into distinct components like title, given, middle, family, and suffix. It offers immutable results, flexible configuration, and supports locale-specific parsing, making it an essential tool for text processing and data normalization tasks. The module recently released version 2.0, enhancing its capabilities while maintaining backward compatibility for most existing code.
django-wordpress: Integrate WordPress Content into Django
July 29, 2026
django-wordpress provides a robust solution for integrating WordPress content directly into Django applications. It offers read-only models and views, ensuring the safety of your WordPress database while allowing seamless access to posts, pages, and other data. This package is ideal for developers looking to leverage existing WordPress content within a Django framework.
facebook-sdk: A Python SDK for Facebook's Graph API
July 29, 2026
The facebook-sdk is a Python client library designed to interact with the Facebook Graph API. It provides a convenient way for Python developers to integrate Facebook functionalities into their applications, supporting authentication and data access. This SDK is ideal for building applications that need to leverage Facebook's powerful API.

furl: The Easiest Way to Parse and Modify URLs in Python
July 28, 2026
furl is a lightweight Python library designed to simplify URL parsing and modification. It offers an intuitive API that makes common URL operations, often tedious with standard modules, straightforward and efficient. Developers can easily manipulate various URL components, including paths, query arguments, and fragments, with robust encoding handling.
Source repository
Open the original repository on GitHub.