{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/13"},{"label":"Compilers","url":"https://skillfed.io/packages/category/software-development-compilers"},{"label":"Interpreters","url":"https://skillfed.io/packages/category/software-development-interpreters"}],"enrichment":{"capability":"textX is a meta-language for building Domain-Specific Languages (DSLs) in Python by defining a grammar that automatically generates a parser and meta-model for your language.","skillfed_tags":["dsl-framework","parser-generator","language-implementation"],"use_cases":["Build a custom configuration file format with validation and programmatic access to parsed settings","Create a domain-specific language for modeling (e.g., state machines, workflows, or diagrams) and interpret or transform the models","Parse and process existing textual file formats or languages where you want programmatic control over the abstract syntax","Implement a code generation tool that reads a textual specification and produces output in another language","Define a query or expression language for a specialized application domain"],"what_it_does":"textX is a Python framework for implementing Domain-Specific Languages by writing a grammar definition. From that grammar, it automatically generates a parser and meta-model (abstract syntax tree) that can parse and instantiate models conforming to your language. It uses a PEG parser (via Arpeggio) with unlimited lookahead and no grammar ambiguities, following the design principles of Xtext but implemented entirely in Python.\n\nYou define your DSL syntax as a textX grammar, optionally provide custom Python classes for specific rules, and then use the generated meta-model to parse text into Python object graphs. This is useful when you need to build support for a new textual language, file format, or configuration syntax without writing a parser from scratch.","worth_installing":"Yes. textX is actively maintained, has no known vulnerabilities, low install friction, and is well-suited for anyone building a textual DSL in Python. The framework is production-stable (Development Status 5), has been in development since 2014, and is appropriate for research, commercial, and open-source use under the MIT license."},"id":"textx","links":{"html":"https://skillfed.io/packages/textx","md":"https://skillfed.io/packages/textx.md","pypi":"https://pypi.org/project/textx/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-07-08","license_spdx":null,"license_treatment":"permissive","name":"textX","python_support":"supports_current","summary":"Meta-language for DSL implementation inspired by Xtext"},"popularity":{"monthly_downloads":299747,"position":7853,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.4.0"}
