{ "info": { "author": "Thijs Vogels", "author_email": "t.vogels@me.com", "bugtrack_url": null, "classifiers": [], "description": "# Dixi - Deep Dictionaries for Python\n\n## Installation\n```bash\npip install dixi\n```\n\n## Examples\n```python\nfrom dixi import Dixi\n\ndata = Dixi({\n 'Chris': {\n 'age': 25,\n 'address': {\n 'city': 'Amsterdam',\n 'country': 'Netherlands',\n },\n },\n 'Anna': {\n 'age': 19,\n 'address': {\n 'city': 'Z\u00fcrich',\n 'country': 'Switzerland',\n },\n },\n 'John': {\n 'age': 44,\n 'address': {\n 'city': 'London',\n 'country': 'United Kingdom',\n },\n },\n})\n```\n\n### Deep indexing\n```python\ndata['John', 'age']\n# >> 44\n```\n\n### Partial indexing\n```python\ndata['Chris', 'address']\n# >> {'city': 'Amsterdam', 'country': 'Netherlands'}\n```\n\n### NumpPy style slicing\n```python\ndata[:, 'address', 'country']\n# >> Dixi({'Chris': 'Netherlands', 'Anna': 'Switzerland', 'John': 'United Kingdom'})\ndata[['Chris', 'Anna'], 'age']\n# >> {'Chris': 25, 'Anna': 19}\n```\n\n### Setting\n```python\ndata['Derek', 'hobbies'] = ['Sewing', 'Archery']\n```\n\n### Iteration\n```python\nfor key in data: # or key in data.leafkeys()\n print(key)\n# >> ('Chris', 'age')\n# >> ('Anna', 'age')\n# >> ('Anna', 'address', 'city')\n# >> ('Anna', 'address', 'country')\n# >> ('John', 'age')\n# >> ('John', 'address', 'city')\n# >> ('John', 'address', 'country')\n# >> ('Derek', 'hobbies')\n```\n```python\nfor key in data.keys():\n print(key)\n# >> Chris\n# >> Anna\n# >> John\n# >> Derek\n```\n```python\nfor key, value in data.items():\n print(key, value)\n# >> Chris {'age': 25}\n# >> Anna {'age': 19, 'address': {'city': 'Z\u00fcrich', 'country': 'Switzerland'}}\n# >> John {'age': 44, 'address': {'city': 'London', 'country': 'United Kingdom'}}\n# >> Derek {'hobbies': ['Sewing', 'Archery']}\n```\n```python\ndata = Dixi({\n 0: { 0: 'a', 1: 'b' },\n 1: { 0: 'c', 1: 'd' },\n})\nfor keys, value in data.iterleaves():\n print(keys, value)\n# >> (0, 0) a\n# >> (0, 1) b\n# >> (1, 0) c\n# >> (1, 1) d\n```\n\n### Deletion\n```python\ndel data['Chris', 'address']\n```\n\n## Todo\n* Allow indexing for arrays\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tvogels/pyexr", "keywords": "dict,tree,numpy slicing", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "dixi", "package_url": "https://pypi.org/project/dixi/", "platform": "", "project_url": "https://pypi.org/project/dixi/", "project_urls": { "Homepage": "https://github.com/tvogels/pyexr" }, "release_url": "https://pypi.org/project/dixi/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "Wrapper around Python dicts that makes it easy to deal with nested tree structures.", "version": "0.0.1" }, "last_serial": 3611799, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "0f64ab77749eb8701521cbf43041ca6b", "sha256": "5850e25109418a32a1a9550a8111b7d32ce0e0261708048ab1ff72da199ecf57" }, "downloads": -1, "filename": "dixi-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "0f64ab77749eb8701521cbf43041ca6b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4310, "upload_time": "2018-02-24T10:55:35", "url": "https://files.pythonhosted.org/packages/07/c2/907341c6a8796b2162026c0f663f93ab084d1c421f0e513b5e348e4e432a/dixi-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "541cd946c2402086d1dd1f4edc8c8e69", "sha256": "881743375ef2fe1edca6fb235f956a3502ea58a035370c874be1846ea5c12e8e" }, "downloads": -1, "filename": "dixi-0.0.1.tar.gz", "has_sig": false, "md5_digest": "541cd946c2402086d1dd1f4edc8c8e69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2610, "upload_time": "2018-02-24T10:55:37", "url": "https://files.pythonhosted.org/packages/73/f5/b35d3e999a3409f9be6b7d17ba57edba4ef645f0140c463414411a4f668b/dixi-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0f64ab77749eb8701521cbf43041ca6b", "sha256": "5850e25109418a32a1a9550a8111b7d32ce0e0261708048ab1ff72da199ecf57" }, "downloads": -1, "filename": "dixi-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "0f64ab77749eb8701521cbf43041ca6b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4310, "upload_time": "2018-02-24T10:55:35", "url": "https://files.pythonhosted.org/packages/07/c2/907341c6a8796b2162026c0f663f93ab084d1c421f0e513b5e348e4e432a/dixi-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "541cd946c2402086d1dd1f4edc8c8e69", "sha256": "881743375ef2fe1edca6fb235f956a3502ea58a035370c874be1846ea5c12e8e" }, "downloads": -1, "filename": "dixi-0.0.1.tar.gz", "has_sig": false, "md5_digest": "541cd946c2402086d1dd1f4edc8c8e69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2610, "upload_time": "2018-02-24T10:55:37", "url": "https://files.pythonhosted.org/packages/73/f5/b35d3e999a3409f9be6b7d17ba57edba4ef645f0140c463414411a4f668b/dixi-0.0.1.tar.gz" } ] }