pyPEG2
An intrinsic PEG Parser-Interpreter for Python
Decision gist · record as of 2026-08-14
No, unless you have a specific legacy requirement. The package is abandoned (last release 2015) with no maintenance for over 3964 days, creating risk for Python 3.10+ compatibility issues. The GPLv2 copyleft license also constrains derivative work. For new projects, consider actively maintained PEG libraries like lark or parsley instead.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- The description states pyPEG 2 depends on lxml; verify this dependency is available in your environment.
- Python 2.7 support may conflict with modern Python 3 toolchains.
- High install friction: the package is abandoned (last release 2015-10-07, over 3964 days ago) with no maintenance activity.
License · maintenance · safety
LICENSE.txt (copyleft) — Licensed under GPLv2 (copyleft). Any derivative work or modification must be released under the same license, and you must distribute source code alongside binaries.
last release 2015-10-07 (3964 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 83,606 downloads/mo, #14,061 on PyPI
Alternatives
Verify before relying
pip install pypeg2
from pypeg2 import parse
# Define a simple grammar and parse input
result = parse("input_string", grammar_rule)- Whether lxml is automatically installed as a dependency or must be manually installed separately.
- Actual Python version compatibility in modern Python 3 releases (3.10+) given the 2015 last release date.
- Whether the package works reliably with current versions of its stated dependency (lxml).
What it is and what it does
pyPEG2 is a PEG parser library that allows you to define grammars declaratively and use them to parse text in Python. It's designed for building custom parsers when standard parsing tools (like XML or template parsers) don't fit your needs, and it includes Unicode support.
The package is production-stable according to its classifier but has been unmaintained since October 2015. It targets both Python 2.7 and Python 3.x, though the long gap since its last release raises questions about compatibility with recent Python versions. The description indicates it depends on lxml, though the exact dependency relationship is not fully documented in the fact sheet.
Use it for
- Building domain-specific language (DSL) parsers for configuration files or custom syntax.
- Parsing structured text formats where regex or simple string splitting is insufficient.
- Creating grammar-based interpreters for small languages or query syntaxes.
- Prototyping language parsers before committing to a full parser generator like ANTLR.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No, unless you have a specific legacy requirement.
The package is abandoned (last release 2015) with no maintenance for over 3964 days, creating risk for Python 3.10+ compatibility issues. The GPLv2 copyleft license also constrains derivative work. For new projects, consider actively maintained PEG libraries like lark or parsley instead.
Install
pypeg2 on PyPI
Before you install
High install friction: the package is abandoned (last release 2015-10-07, over 3964 days ago) with no maintenance activity. It targets Python 2.7 alongside Python 3.x, which may cause compatibility issues in modern environments.
The description states pyPEG 2 depends on lxml; verify this dependency is available in your environment. Python 2.7 support may conflict with modern Python 3 toolchains.
License in practice
Licensed under GPLv2 (copyleft). Any derivative work or modification must be released under the same license, and you must distribute source code alongside binaries.
Quickstart
pip install pypeg2
from pypeg2 import parse
# Define a simple grammar and parse input
result = parse("input_string", grammar_rule)
Verify before relying
- Whether lxml is automatically installed as a dependency or must be manually installed separately.
- Actual Python version compatibility in modern Python 3 releases (3.10+) given the 2015 last release date.
- Whether the package works reliably with current versions of its stated dependency (lxml).
Package facts
| License | LICENSE.txt copyleft |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 3,964 days since the last release |
| First released | |
| Downloads | 83,606 / month, #14,061 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU General Public License v2 (GPLv2)Operating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Software Development :: CompilersTopic :: Software Development :: InterpretersTopic :: Software Development :: Libraries :: Python Modules |
Evidence: pyPEG2-2.15.2.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “custom parser python”
- pyPEG2pyPEG2 is a PEG (Parsing Expression Grammar) parser generator that…
- funcparserlibFuncparserlib is a recursive descent parsing library that lets you…
- markoMarko is a pure Python markdown parser that converts markdown text to…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also PyMeta3 · textX · pyparsing · TatSu · parsimonious · Parsley · mo-parsing · pygmars · textparser · PyJSG