{"categories":[{"label":"Compilers","url":"https://skillfed.io/packages/category/software-development-compilers"},{"label":"General","url":"https://skillfed.io/packages/category/text-processing-general"}],"enrichment":{"capability":"TatSu compiles extended EBNF grammars into memoizing PEG parsers in Python, or generates Python source code that implements those parsers.","skillfed_tags":["parser-generator","dsl-tools","compiler-tools"],"use_cases":["Build a custom configuration file parser for domain-specific settings without writing hand-coded recursive descent logic.","Generate an AST from mathematical expressions or query languages to enable semantic analysis and transformation.","Create a domain-specific language (DSL) for hardware description, music notation, or business rules with proper operator precedence.","Translate between structured formats (e.g., one markup language to another) while preserving hierarchical meaning.","Parse nested or recursive data structures like JSON variants, nested templates, or multi-level configuration formats.","Validate and extract meaning from complex command syntax where simple regex matching is insufficient."],"what_it_does":"TatSu is a PEG (Parsing Expression Grammar) parser generator that takes grammars written in extended EBNF and produces Python parsers capable of building abstract syntax trees (ASTs). It uses memoization (Packrat parsing) to ensure linear-time parsing and supports left-recursive rules\u2014a feature uncommon in traditional PEG tools. The package can be used as a library to compile grammars at runtime and parse input on the fly, or to generate standalone Python modules that implement the parser.\n\nThe tool solves the problem of parsing hierarchical, context-dependent data\u2014tasks where regular expressions fail. It handles recursive structures (like nested conditionals or folder hierarchies), format translation with meaning preservation, and the creation of domain-specific languages. TatSu has no runtime dependencies, installs cleanly, and is actively maintained for modern Python versions (3.12 and 3.13).","worth_installing":"Yes. TatSu is a mature, actively maintained parser generator with zero dependencies, permissive licensing, and broad Python version support. Install it if you need to parse hierarchical data, build a DSL, or generate parsers from grammars. The low friction and active development make it a reliable choice for grammar-based parsing tasks."},"id":"tatsu","links":{"html":"https://skillfed.io/packages/tatsu","md":"https://skillfed.io/packages/tatsu.md","pypi":"https://pypi.org/project/tatsu/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-07-09","license_spdx":null,"license_treatment":"permissive","name":"TatSu","python_support":"supports_current","summary":"TatSu takes a grammar in a variation of EBNF as input, and outputs a memoizing PEG/Packrat parser in Python."},"popularity":{"monthly_downloads":921479,"position":4718,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"5.24.0"}
