{"id":14156435,"url":"https://github.com/SupraSummus/dhall-python","last_synced_at":"2025-08-06T02:33:23.701Z","repository":{"id":95807780,"uuid":"155443449","full_name":"SupraSummus/dhall-python","owner":"SupraSummus","description":"Work in progress pure python dhall interpreter","archived":false,"fork":false,"pushed_at":"2018-12-23T08:35:50.000Z","size":152,"stargazers_count":26,"open_issues_count":1,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-17T08:07:13.780Z","etag":null,"topics":["dhall"],"latest_commit_sha":null,"homepage":null,"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/SupraSummus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-10-30T19:21:46.000Z","updated_at":"2023-11-28T07:23:05.000Z","dependencies_parsed_at":"2023-03-15T12:31:43.167Z","dependency_job_id":null,"html_url":"https://github.com/SupraSummus/dhall-python","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SupraSummus%2Fdhall-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SupraSummus%2Fdhall-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SupraSummus%2Fdhall-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SupraSummus%2Fdhall-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SupraSummus","download_url":"https://codeload.github.com/SupraSummus/dhall-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228829174,"owners_count":17978160,"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":["dhall"],"created_at":"2024-08-17T08:05:28.314Z","updated_at":"2024-12-09T03:31:40.255Z","avatar_url":"https://github.com/SupraSummus.png","language":"Python","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"Dhall for python\n================\n\n[![Build Status](https://travis-ci.com/SupraSummus/dhall-python.svg?branch=master)](https://travis-ci.com/SupraSummus/dhall-python)\n[![codecov](https://codecov.io/gh/SupraSummus/dhall-python/branch/master/graph/badge.svg)](https://codecov.io/gh/SupraSummus/dhall-python)\n\nPure python implementation of [dhall](https://github.com/dhall-lang/dhall-lang) language.\n\n**Work in progres**\n\n    python setup.py build  # to patch the grammar and compile parser tables\n    python setup.py test  # to run tests\n    flake8  # to lint the code\n    make abnf_patch  # to make changes to dhall.abnf persistent\n\nStatus\n------\n\n * [x] parsing\n\n   All tests from acceptance test suite pass, except AST is not checked against CBOR.\n \n * [ ] typechecking / evaluating / normalizing\n\n   Some tests from acceptance test suite pass, but typechecking infrastructure needs to be havily reworked.\n\n * [ ] import resolution\n * [ ] loading from / dumping to binary\n * [ ] (pretty)printing expressions\n \n   There is some code responsible for printing for type errors explanation, but it's incomplete and does not properly support precedence.\n\nDetails\n-------\n\nParsing is done using [parglare](https://github.com/igordejanovic/parglare) GLR parser library. `grammar.abnf` from dhall-lang repository is first patched, then converted into GLR parser tables. Take a look at [`setup.py`](setup.py), how it's done.\n\nAcceptance tests comes from dhall-lang repository. They are then triggered during unit testing using awesome [parametrized package](https://github.com/wolever/parameterized). Take a look at [`tests/test_acceptance.py`](tests/test_acceptance.py).\n\nTo check what dhall-python is capable of parsing call something like\n\n    cat dhall-haskell/tests/parser/annotations.dhall | dhall-python-parse\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSupraSummus%2Fdhall-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSupraSummus%2Fdhall-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSupraSummus%2Fdhall-python/lists"}