[...] I speak with tongues more than you all;
—1 Corinthians 14:18
Parse it on!
—Bobson Dugnutt, Private communication
Generic input parsing library, speaking in tongues.
parselglossy
generates a fully functional Python input parsing module from a
simple YAML template specification. The parser has no dependencies on
external Python packages.
The documentation for all input keywords is also generated in reStructuredText
format from the YAML specification.
- Free software: MIT license
- Documentation: https://parselglossy.readthedocs.io.
- Python 3.7 or later.
- Flexible. It can accommodate different input styles and still generate correct parsers. This is achieved by decoupling input reading and validation.
- Extensible. We work with standard Python types and standard JSON format. Interfacing and extending to your needs is straightforward.
- Simple. Just provide an input specification in YAML format: names of keywords/sections, defaults, documentation. The tedious bits are automatically handled for you.
- Correct.
parselglossy
gives two correctness guarantees:- If the YAML specification is valid, the generated parser will be correct.
- If validation completes, the input to your application is well-formed.
If your project is using parselglossy, please add a link via a pull request.