erikrose/parsimonious
The fastest pure-Python PEG parser I can muster observed · 2026-08-28
Health v2 · maintenance only
55/100
- Activity 51
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 5325
- days_rel: n/a
- days_push: 295
- n_releases_24m: 0
Adoption not part of the score
1916 stars · 138 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Parsimonious is a pure-Python parsing library based on parsing expression grammars (PEGs), letting you define grammars in a simplified EBNF notation and produce parse trees. It emphasizes speed, low memory use, readable grammars, and good error reporting, with a NodeVisitor API for walking resulting trees.
Use cases
- parse a custom DSL in python
- build a parser for a config file format like ini
- write a wiki markup to HTML converter
- define a grammar in EBNF and get an AST
- implement a packrat parser without C extensions
- parse structured text with arbitrary lookahead
When to choose
- you need a pure-Python parser with no compiled dependencies
- you want readable, extensible grammars in EBNF-like notation
- you need arbitrary-lookahead PEG parsing with good error messages
- you want to separate grammar recognition from tree transformation
When to avoid
- you need maximum parsing speed and can accept C-based tools like Lark or ANTLR
- you need left-recursive grammar support
- you are parsing very large inputs where memory is critical
Facets
library · maturity active
parser parsers programming-languages developer-tools python cross-platform peg packrat grammar ebnf syntax-tree pure-python
2 sources
- readme: https://github.com/erikrose/parsimonious · fetched 2026-08-28 · 086ee6d09bb0
- registry_pypi: https://pypi.org/pypi/parsimonious/json · fetched 2026-08-29 · ce249e3b8ea4
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| erikrose/parsimonious | main | 55 |
For agents
markdown · JSON · MCP: product_card(name="erikrose/parsimonious")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem