{"id":21068764,"url":"https://github.com/dev-cafe/parselglossy","last_synced_at":"2025-07-04T22:33:53.217Z","repository":{"id":45715324,"uuid":"160200314","full_name":"dev-cafe/parselglossy","owner":"dev-cafe","description":"Generic input parsing library, speaking in tongues.","archived":false,"fork":false,"pushed_at":"2022-11-06T20:37:58.000Z","size":6143,"stargazers_count":7,"open_issues_count":8,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-23T13:01:17.982Z","etag":null,"topics":["input-parsing","python3"],"latest_commit_sha":null,"homepage":"https://parselglossy.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dev-cafe.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-03T14:04:10.000Z","updated_at":"2023-05-22T14:28:52.000Z","dependencies_parsed_at":"2023-01-22T02:36:49.740Z","dependency_job_id":null,"html_url":"https://github.com/dev-cafe/parselglossy","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/dev-cafe/parselglossy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-cafe%2Fparselglossy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-cafe%2Fparselglossy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-cafe%2Fparselglossy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-cafe%2Fparselglossy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dev-cafe","download_url":"https://codeload.github.com/dev-cafe/parselglossy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev-cafe%2Fparselglossy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263091151,"owners_count":23412364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["input-parsing","python3"],"created_at":"2024-11-19T18:25:15.490Z","updated_at":"2025-07-04T22:33:53.179Z","avatar_url":"https://github.com/dev-cafe.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"============\nparselglossy\n============\n\n\n.. image:: https://img.shields.io/pypi/v/parselglossy.svg\n        :target: https://pypi.python.org/pypi/parselglossy\n\n.. image:: https://github.com/dev-cafe/parselglossy/workflows/Test%20parselglossy/badge.svg?branch=master\n        :target: https://github.com/dev-cafe/parselglossy/actions?query=workflow%3A%22Test+parselglossy%22+branch%3Amaster\n        :alt: CI build status\n        \n.. image:: https://codecov.io/gh/dev-cafe/parselglossy/branch/master/graph/badge.svg\n  :target: https://codecov.io/gh/dev-cafe/parselglossy\n\n.. image:: https://readthedocs.org/projects/parselglossy/badge/?version=latest\n        :target: https://parselglossy.readthedocs.io/en/latest/?badge=latest\n        :alt: Documentation Status\n\n\n\n.. epigraph::\n\n   [...] I speak with tongues more than you all;\n\n   -- **1 Corinthians** 14:18\n\n   Parse it on!\n\n   -- Bobson Dugnutt, **Private communication**\n\n\nGeneric input parsing library, speaking in tongues.\n\n``parselglossy`` generates a fully functional Python input parsing module from a\nsimple YAML template specification.  The parser has *no dependencies* on\nexternal Python packages.\nThe documentation for all input keywords is also generated in reStructuredText\nformat from the YAML specification.\n\n\n.. image:: https://github.com/dev-cafe/parselglossy/raw/master/docs/gfx/parse.jpg\n     :alt: Parse all the inputs!\n\n* Free software: MIT license\n* Documentation: https://parselglossy.readthedocs.io.\n\n\nRequirements\n------------\n\n* Python 3.7 or later.\n\n\nFeatures\n--------\n\n* **Flexible**. It can accommodate different input styles and still generate\n  correct parsers.  This is achieved by decoupling input reading and validation.\n* **Extensible**. We work with standard Python types and standard JSON format.\n  Interfacing and extending to your needs is straightforward.\n* **Simple**. Just provide an input specification in YAML format: names of\n  keywords/sections, defaults, documentation. The tedious bits are automatically\n  handled for you.\n* **Correct**. ``parselglossy`` gives two correctness guarantees:\n\n  1. If the YAML specification is valid, the generated parser will be correct.\n  2. If validation completes, the input to your application is well-formed.\n\nProjects using parselglossy\n---------------------------\n\n*  `MRChem \u003chttps://mrchem.readthedocs.io/en/latest/\u003e`_\n\nIf your project is using parselglossy, please add a link via a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-cafe%2Fparselglossy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdev-cafe%2Fparselglossy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-cafe%2Fparselglossy/lists"}