{"categories":[{"label":"Text Processing","url":"https://skillfed.io/packages/category/text-processing/2"}],"enrichment":{"capability":"Parsley is a PEG-based parsing library that compiles grammar rules into Python classes, letting you define parsers using a readable pattern-matching syntax instead of state machine tables.","skillfed_tags":["parser-generator","peg-parsing","abandoned"],"use_cases":["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"],"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\u2014sequences, alternatives, repetition, lookahead, and embedded Python actions\u2014then call makeGrammar() to compile them into a Python class with methods for each rule.\n\nThe 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.","worth_installing":"No\u2014unless 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."},"id":"parsley","links":{"html":"https://skillfed.io/packages/parsley","md":"https://skillfed.io/packages/parsley.md","pypi":"https://pypi.org/project/parsley/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2015-09-09","license_spdx":null,"license_treatment":"permissive","name":"Parsley","python_support":"unspecified","summary":"Parsing and pattern matching made easy."},"popularity":{"monthly_downloads":1344853,"position":4025,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.3"}
