{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/7"}],"enrichment":{"capability":"RPLY is a pure Python parser generator that creates lexers and parsers from grammar rules, compatible with both standard Python and RPython.","skillfed_tags":["parser-generator","lexer","rpython"],"use_cases":["Build a simple calculator or expression evaluator that parses and computes mathematical expressions.","Create a domain-specific language (DSL) parser for configuration files or query languages.","Implement an interpreter for a toy programming language or scripting syntax.","Parse structured text formats where regex alone is insufficient.","Develop a PyPy-compatible parser when RPython support is required."],"what_it_does":"RPLY is a parser generator library that lets you define lexical and syntactic rules for parsing custom languages or domain-specific syntax. You write token rules (lexer) and grammar productions (parser) as Python decorators, then build a lexer and parser that can tokenize and parse input strings. It's a direct port of PLY (Python Lex-Yacc) with a cleaner API and support for RPython, a statically-typed Python subset used by PyPy.\n\nThe library is designed for building interpreters, domain-specific languages, or any tool that needs to parse structured text. It handles operator precedence, error reporting with source positions, and optional caching of compiled grammars. The box pattern (wrapping values in classes) is built in for RPython compatibility but can be ignored in pure-Python projects.","worth_installing":"Yes, if you need a parser generator and are comfortable with abandoned software. RPLY is stable, has no known vulnerabilities, and works well for building parsers in pure Python. However, it has received no updates since January 2021 and is no longer maintained\u2014use it only for projects where you can tolerate no future fixes or Python version support updates. For active alternatives, consider PLY or more modern parser libraries."},"id":"rply","links":{"html":"https://skillfed.io/packages/rply","md":"https://skillfed.io/packages/rply.md","pypi":"https://pypi.org/project/rply/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2021-01-27","license_spdx":null,"license_treatment":"permissive","name":"rply","python_support":"unspecified","summary":"A pure Python Lex/Yacc that works with RPython"},"popularity":{"monthly_downloads":542262,"position":6089,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.7.8"}
