{"id":17100271,"url":"https://github.com/chrisantonellis/delimited","last_synced_at":"2025-06-28T04:35:45.795Z","repository":{"id":57418062,"uuid":"106753853","full_name":"chrisantonellis/delimited","owner":"chrisantonellis","description":"Delimited defines classes that allow for accessing and modifying nested data","archived":false,"fork":false,"pushed_at":"2018-05-04T21:14:33.000Z","size":13393,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-08T09:35:31.433Z","etag":null,"topics":["nested-data","nested-dicts"],"latest_commit_sha":null,"homepage":"https://chrisantonellis.github.io/delimited/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrisantonellis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-12T23:00:52.000Z","updated_at":"2018-03-20T18:42:22.000Z","dependencies_parsed_at":"2022-09-03T08:51:46.938Z","dependency_job_id":null,"html_url":"https://github.com/chrisantonellis/delimited","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/chrisantonellis%2Fdelimited","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisantonellis%2Fdelimited/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisantonellis%2Fdelimited/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisantonellis%2Fdelimited/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisantonellis","download_url":"https://codeload.github.com/chrisantonellis/delimited/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245148878,"owners_count":20568788,"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":["nested-data","nested-dicts"],"created_at":"2024-10-14T15:12:53.350Z","updated_at":"2025-03-23T18:30:19.506Z","avatar_url":"https://github.com/chrisantonellis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Delimited\n\n[![Travis](https://img.shields.io/travis/chrisantonellis/delimited.svg?style=flat-square)](https://img.shields.io/travis/USER/REPO.svg)\n[![Coveralls github](https://img.shields.io/coveralls/github/chrisantonellis/delimited.svg?style=flat-square)](https://coveralls.io/github/chrisantonellis/delimited)\n[![PyPI](https://img.shields.io/pypi/v/delimited.svg?style=flat-square)](https://pypi.python.org/pypi/delimited/)\n![Somethin](https://img.shields.io/badge/code%20style-pep8-brightgreen.svg?style=flat-square)\n\nDelimited defines classes that allow for accessing and modifying nested data.\n\n## Installation\n\n```\npip install delimited\n```\n\n## Documentation\n\n[https://chrisantonellis.github.io/delimited/](https://chrisantonellis.github.io/delimited/)\n\n## Abstract\n\n**Nested data** can be easily expressed in python but not easily accessed or modified. Using builtin methods, accessing nested data requires chaining `dict.get()` calls.\n``` python\n  mydict = {\n    \"key1\": {\n      \"key2\": {\n        \"key3\": \"value\"\n      }\n    }\n  }\n\n  mydict.get(\"key1\", {}).get(\"key2\", {}).get(\"key3\", {})\n```\n    \nThis is overly verbose and lacks the functionality needed to effectively interact with the data. Delimited provides classes that emulate native types and make accessing and modifying nested data easier. \n\n``` python\n  from delimited import DelimitedDict as ddict\n  \n  mydict = ddict({\n    \"key1\": {\n      \"key2\": {\n        \"key3\": \"value\"\n      }\n    }\n  })\n\n  mydict.get(\"key1.key2.key3\")\n  # returns \"value\"\n  \n  mydict.collapse()\n  # returns {\"key1.key2.key3\": \"value\"}\n```\n\nDelimited provides `Path` classes to represent paths to nested data using tuples or strings, and `NestedContainer` classes that emulate the native `dict` type. Check out the [documentation](https://chrisantonellis.github.io/delimited/) to learn more.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisantonellis%2Fdelimited","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisantonellis%2Fdelimited","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisantonellis%2Fdelimited/lists"}