{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/6"},{"label":"Compilers","url":"https://skillfed.io/packages/category/software-development-compilers"},{"label":"Interpreters","url":"https://skillfed.io/packages/category/software-development-interpreters"}],"enrichment":{"capability":"Arpeggio is a recursive descent parser with memoization that implements PEG (Packrat) grammars, letting you define and parse custom languages or structured text formats.","skillfed_tags":["parsing","peg-grammar","compiler-tools"],"use_cases":["Build a parser for a custom configuration file format or domain-specific language","Parse structured text data where you want to define grammar rules declaratively rather than write parsing code","Create an interpreter or compiler frontend that needs to consume and validate input against a formal grammar","Extract and transform data from text files with complex, nested structures"],"what_it_does":"Arpeggio is a parser library that implements Packrat parsing using Parsing Expression Grammars (PEG). It uses recursive descent with memoization to parse input according to user-defined grammar rules. The library is designed for developers who need to build parsers for domain-specific languages, configuration formats, or other structured text without writing hand-coded parsing logic.\n\nThe package has no runtime dependencies and is marked as Production/Stable. It supports Python 3.6 through 3.10 and has been actively maintained since its first release in 2014-08-16. The documentation notes that textX provides a higher-level interface to Arpeggio if you need a more convenient API for language definition.","worth_installing":"Yes. Arpeggio is a stable, actively maintained parser library with no dependencies and permissive licensing. Install it if you need to build a parser for a custom grammar or language; if you want a higher-level interface for language definition, consider textX instead."},"id":"arpeggio","links":{"html":"https://skillfed.io/packages/arpeggio","md":"https://skillfed.io/packages/arpeggio.md","pypi":"https://pypi.org/project/arpeggio/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-09-12","license_spdx":null,"license_treatment":"permissive","name":"Arpeggio","python_support":"unspecified","summary":"Packrat parser interpreter"},"popularity":{"monthly_downloads":2075233,"position":3316,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"2.0.3"}
