$npx skillfedfor your agent

Parsley

Parsing and pattern matching made easy.

SkipPyPI Text ProcessingReleased Sep 20151.3M downloads / moMIT LicensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — Parsley-1.3-py2.py3-none-any.whl
v1.3 · released 2015-09-09

No—unless you are maintaining legacy code already using Parsley. The package is abandoned (last release 2015, no commits since), with no Python version guarantee and no active maintenance. For new projects, use maintained PEG parsers like pyparsing or lark, which offer similar readability with ongoing support and bug fixes.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Installation is straightforward with no runtime dependencies.
  • However, the package is abandoned—last released in 2015 with no commits or maintenance signals since.
  • Use only if you accept that bugs and compatibility issues will not be addressed.

License · maintenance · safety

MIT License (permissive) — MIT License permits commercial and private use, modification, and distribution with minimal restrictions, making it legally safe to adopt from a licensing perspective.

last release 2015-09-09 (3992 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,344,853 downloads/mo, #4,025 on PyPI

Verify before relying

from parsley import makeGrammar

grammar = """
ones = '1' '1' -> 1
twos = '2' '2' -> 2
stuff = (ones | twos)+
"""
Example = makeGrammar(grammar, {})
g = Example("11221111")
result = g.stuff()
  • Whether Parsley remains compatible with current Python versions (no requires_python specified in metadata)
  • Whether the OMeta semantics and PEG algorithm implementation are suitable for your specific parsing task
  • Community forks or maintained alternatives that may have addressed issues since 2015
Same gist for agents: .md · .json

What it is and what it does

Parsley is a parsing library that implements OMeta, an object-oriented pattern-matching language. Instead of using traditional parser generators like yacc or ANTLR that compile to state machine tables, Parsley uses the PEG (Parsing Expression Grammar) algorithm, where each grammar rule reads like a Python expression. You define rules using a readable syntax—sequences, alternatives, repetition, lookahead, and embedded Python actions—then call makeGrammar() to compile them into a Python class with methods for each rule.

The library is designed for developers who find traditional parser generators intimidating or cumbersome. Rules are evaluated in order (unlike table-driven parsers), and you can bind values, call other rules, and execute Python expressions directly within the grammar. It trades the power of LR parsing for simplicity and readability, making it suitable for domain-specific languages, configuration formats, and other structured text parsing tasks where the grammar fits the PEG model.

Use it for

  • Parse domain-specific languages or configuration file formats where PEG semantics are sufficient
  • Build simple expression evaluators or query languages with embedded Python actions
  • Tokenize and structure text when traditional regex or string splitting is too rigid
  • Prototype parsers quickly without learning yacc, bison, or ANTLR state machine concepts
  • Define grammar rules that read naturally as Python-like expressions for team readability

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Skip

No—unless you are maintaining legacy code already using Parsley.

The package is abandoned (last release 2015, no commits since), with no Python version guarantee and no active maintenance. For new projects, use maintained PEG parsers like pyparsing or lark, which offer similar readability with ongoing support and bug fixes.

Install

parsley on PyPI

Before you install

Installation is straightforward with no runtime dependencies. However, the package is abandoned—last released in 2015 with no commits or maintenance signals since. Use only if you accept that bugs and compatibility issues will not be addressed.

License in practice

MIT License permits commercial and private use, modification, and distribution with minimal restrictions, making it legally safe to adopt from a licensing perspective.

Quickstart

from parsley import makeGrammar

grammar = """
ones = '1' '1' -> 1
twos = '2' '2' -> 2
stuff = (ones | twos)+
"""
Example = makeGrammar(grammar, {})
g = Example("11221111")
result = g.stuff()

Verify before relying

  • Whether Parsley remains compatible with current Python versions (no requires_python specified in metadata)
  • Whether the OMeta semantics and PEG algorithm implementation are suitable for your specific parsing task
  • Community forks or maintained alternatives that may have addressed issues since 2015

Package facts

LicenseMIT License permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAbandoned 3,992 days since the last release
First released
Downloads1,344,853 / month, #4,025 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: Parsley-1.3-py2.py3-none-any.whl

Tags

Capabilities
PEG parser generatorpattern matching languagegrammar parsing libraryOMeta implementationreadable parser DSLtext parsing without yaccdeclarative grammar rules
Topics
parser-generatorpeg-parsingabandoned

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 › “readable parser DSL”

  • ParsleyParsley is a PEG-based parsing library that compiles grammar rules…
  • einshapeEinshape provides a DSL-based interface for tensor reshaping,…
  • textXtextX is a meta-language for building Domain-Specific Languages…

Give your agent the search over MCP, or paste the wish link into any chat.

More Text Processing packages

regex Worth it
PyPI · Python Modules · released Jul 2026

A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.

Apache-2.0 AND CNRI-Pythoncompiled wheel · 3.10+
437.7Mdownloads / mo
pyparsing Worth it
PyPI · Text Processing · released Jan 2026

pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.

Install it if you need to parse text or define grammars programmatically.

MITpure Python · 3.9+
412.7Mdownloads / mo
fonttools Worth it
PyPI · Text Processing · released May 2026

fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.

Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.

permissive licensepure Python · 3.10+
235.9Mdownloads / mo
docutils With conditions
PyPI · Software Development · released May 2026

Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.

BSD-3-Clausepure Python · 3.9+
225.6Mdownloads / mo
RapidFuzz Worth it
PyPI · Text Processing · released Apr 2026

RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.

Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.

MITcompiled wheel · 3.10+
184.2Mdownloads / mo
tinycss2 Worth it
PyPI · Text Processing · released Nov 2025

tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.

Install it if your project requires CSS tokenization or syntax manipulation.

BSD-3-Clausepure Python · 3.10+
113.2Mdownloads / mo

See also PyMeta3 · pyPEG2 · parsimonious · parso · rply · mo-parsing · TatSu · rule-engine · parsy · ply