{ "info": { "author": "Pawe\u0142 Zadro\u017cny @pawelzny", "author_email": "pawel.zny@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "**********\nDotty-Dict\n**********\n\n:Info: Dictionary wrapper for quick access to deeply nested keys.\n:Author: Pawe\u0142 Zadro\u017cny @pawelzny \n\n.. image:: https://circleci.com/gh/pawelzny/dotty_dict/tree/master.svg?style=shield&circle-token=77f51e87481f339d69ca502fdbb0c2b1a76c0369\n :target: https://circleci.com/gh/pawelzny/dotty_dict/tree/master\n :alt: CI Status\n\n.. image:: https://readthedocs.org/projects/vo/badge/?version=latest\n :target: http://dotty-dict.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/v/dotty_dict.svg\n :target: https://pypi.org/project/dotty_dict/\n :alt: PyPI Repository Status\n\n.. image:: https://img.shields.io/github/release/pawelzny/dotty_dict.svg\n :target: https://github.com/pawelzny/dotty_dict\n :alt: Release Status\n\n.. image:: https://img.shields.io/pypi/status/dotty_dict.svg\n :target: https://pypi.org/project/dotty_dict/\n :alt: Project Status\n\n.. image:: https://img.shields.io/pypi/pyversions/dotty_dict.svg\n :target: https://pypi.org/project/dotty_dict/\n :alt: Supported python versions\n\n.. image:: https://img.shields.io/pypi/implementation/dotty_dict.svg\n :target: https://pypi.org/project/dotty_dict/\n :alt: Supported interpreters\n\n.. image:: https://img.shields.io/pypi/l/dotty_dict.svg\n :target: https://github.com/pawelzny/dotty_dict/blob/master/LICENSE\n :alt: License\n\n\nFeatures\n========\n\n* Simple wrapper around python dictionary and dict like objects\n* Two wrappers with the same dict are considered equal\n* Access to deeply nested keys with dot notation: ``dot['deeply.nested.key']``\n* Create, read, update and delete nested keys of any length\n* Expose all dictionary methods like ``.get``, ``.pop``, ``.keys`` and other\n* Access dicts in lists by index ``dot['parents.0.first_name']``\n* key=value caching to speed up lookups and low down memory consumption\n* support for setting value in multidimensional lists\n\n\nInstallation\n============\n\n.. code:: bash\n\n pip install dotty-dict\n\n\n* **Package**: https://pypi.org/project/dotty-dict/\n* **Source**: https://github.com/pawelzny/dotty_dict\n\n\nDocumentation\n=============\n\n* Full documentation: http://dotty-dict.readthedocs.io\n* Public API: http://dotty-dict.readthedocs.io/en/latest/api.html\n* Examples and usage ideas: http://dotty-dict.readthedocs.io/en/latest/examples.html\n\n\nTODO\n====\n\nWaiting for your feature requests ;)\n\n\nQuick Example\n=============\n\nCreate new dotty using factory function.\n\n.. code-block:: python\n\n >>> from dotty_dict import dotty\n >>> dot = dotty({'plain': {'old': {'python': 'dictionary'}}})\n >>> dot['plain.old']\n {'python': 'dictionary'}\n\n\nYou can start with empty dotty\n\n.. code-block:: python\n\n >>> from dotty_dict import dotty\n >>> dot = dotty()\n >>> dot['very.deeply.nested.thing'] = 'spam'\n >>> dot\n Dotty(dictionary={'very': {'deeply': {'nested': {'thing': 'spam'}}}}, separator='.', esc_char='\\\\')\n\n >>> dot['very.deeply.spam'] = 'indeed'\n >>> dot\n Dotty(dictionary={'very': {'deeply': {'nested': {'thing': 'spam'}, 'spam': 'indeed'}}}, separator='.', esc_char='\\\\')\n\n >>> del dot['very.deeply.nested']\n >>> dot\n Dotty(dictionary={'very': {'deeply': {'spam': 'indeed'}}}, separator='.', esc_char='\\\\')\n\n >>> dot.get('very.not_existing.key')\n None\n\nNOTE: Using integer in dictionary keys will be treated as embedded list index.\n\nInstall for development\n=======================\n\nInstall dev dependencies\n\n.. code-block:: console\n\n $ make install\n\nTesting\n=======\n\n.. code-block:: console\n\n $ make test\n\nOr full tests with TOX:\n\n.. code-block:: console\n\n $ make test-all", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pawelzny/dotty_dict", "keywords": "dot notation dict wrapper helper utils lib", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "dotty-dict", "package_url": "https://pypi.org/project/dotty-dict/", "platform": "", "project_url": "https://pypi.org/project/dotty-dict/", "project_urls": { "Homepage": "https://github.com/pawelzny/dotty_dict" }, "release_url": "https://pypi.org/project/dotty-dict/1.2.1/", "requires_dist": null, "requires_python": "", "summary": "Dictionary wrapper for quick access to deeply nested keys.", "version": "1.2.1" }, "last_serial": 5977367, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "019ae0025a2b747238b1f9b44eac80e9", "sha256": "ad0f60072417e32a45736083e098d1162ebeea762c6adc5f0963640a87e85130" }, "downloads": -1, "filename": "dotty_dict-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "019ae0025a2b747238b1f9b44eac80e9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5134, "upload_time": "2017-05-03T12:50:41", "url": "https://files.pythonhosted.org/packages/b9/ec/49cedba03c1fd9ae5e3c8bdfac73d98e0208df29cd466fc7b0738f003ae9/dotty_dict-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30156e153cf9bdfb16e8b812f8123893", "sha256": "291417d1966467582f2d398c0bd592f33e14180dd084f58dbafb70bbf0803d72" }, "downloads": -1, "filename": "dotty_dict-0.1.1.tar.gz", "has_sig": false, "md5_digest": "30156e153cf9bdfb16e8b812f8123893", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13226, "upload_time": "2017-05-03T12:50:43", "url": "https://files.pythonhosted.org/packages/a5/ae/6603f1185b2e51ce1a24963e20d03a592abbcd27150eba57fafe5adf2093/dotty_dict-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "772dae1ed8df67f837cf68ef655ccc42", "sha256": "66b06a94d01ad080f4698eb49e4ab2f26f33d025d9dfc3f8e3f58746b2acfa71" }, "downloads": -1, "filename": "dotty_dict-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "772dae1ed8df67f837cf68ef655ccc42", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5132, "upload_time": "2017-05-03T13:02:33", "url": "https://files.pythonhosted.org/packages/d3/d3/4828feea639306024e33f7c0f338eef5d51a451a66705f5b3cb27308dcd9/dotty_dict-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "add5c941984b8da7aa6fc60dc07be6f1", "sha256": "378b152a45f2f16787181023670286b7e0a30cef9f94d12db90c0b032b78f78f" }, "downloads": -1, "filename": "dotty_dict-0.1.2.tar.gz", "has_sig": false, "md5_digest": "add5c941984b8da7aa6fc60dc07be6f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13219, "upload_time": "2017-05-03T13:02:35", "url": "https://files.pythonhosted.org/packages/1a/45/ba519a550ca0b367b892bbf86d0f6eb3295ad21e5cdb21e2ad61a979b46d/dotty_dict-0.1.2.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "83d27a7d32b2dd973324bff90055b419", "sha256": "77520ddce5eeb2c0d9c41cde6f9fda690f3372d784e152ce49ec4c27a4cdcc2a" }, "downloads": -1, "filename": "dotty_dict-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "83d27a7d32b2dd973324bff90055b419", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5132, "upload_time": "2017-05-03T14:45:44", "url": "https://files.pythonhosted.org/packages/2d/14/dd6f753f53fba9da89fc2512e521972036361c411a69b3a10fb9ac347d02/dotty_dict-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dde750ff80ee4a074912334835c67572", "sha256": "063828bc6d7e354a93b88be90c9b23fa55a8a70083941cf59ae714704d17715a" }, "downloads": -1, "filename": "dotty_dict-0.1.7.tar.gz", "has_sig": false, "md5_digest": "dde750ff80ee4a074912334835c67572", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13224, "upload_time": "2017-05-03T14:45:46", "url": "https://files.pythonhosted.org/packages/98/79/692b7a10aa7891483ccba4c915a178e50bd3cf38ad9962c83e463f513335/dotty_dict-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "44d6a9bbdff70ee4c8fe78c5785b7d87", "sha256": "d8b78c06def1e4f810b40a5f789e48ca16f4eac7666e6d7596dcfe3f82e7576c" }, "downloads": -1, "filename": "dotty_dict-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "44d6a9bbdff70ee4c8fe78c5785b7d87", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5132, "upload_time": "2017-05-03T14:53:58", "url": "https://files.pythonhosted.org/packages/23/3a/161acefb1650fb386ed06fb9328779b2adf7f1f774306c3a911c03d881d7/dotty_dict-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "236a49b30b5557aa72e89666b0d68d12", "sha256": "ad9afc6dc7be91919e2fddb042ccf46d6c59bef752f7398d5cdc784afea649f4" }, "downloads": -1, "filename": "dotty_dict-0.1.8.tar.gz", "has_sig": false, "md5_digest": "236a49b30b5557aa72e89666b0d68d12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13220, "upload_time": "2017-05-03T14:53:59", "url": "https://files.pythonhosted.org/packages/60/8b/ac1b3eaecd707ce44d1fa510e20e8c2fa74bbbb3b0043294ec9b6ea36e09/dotty_dict-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "565ee10acc59172190b5afcab9725577", "sha256": "877bd27728761d8913dddb6cba20122b9025f284bc0d7b45070827ae85924adb" }, "downloads": -1, "filename": "dotty_dict-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "565ee10acc59172190b5afcab9725577", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5699, "upload_time": "2017-05-06T16:10:25", "url": "https://files.pythonhosted.org/packages/27/01/c5e14a775ca0c9a6f7818c313aa02b4c5a146e6c6f85842ce627dc920f7a/dotty_dict-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bff388a6497569cb99bf98e48cff887", "sha256": "35045e484fc9bb66fc2eb18c2db6f0a58ff9627f36c14361bfc0607f7d3af12f" }, "downloads": -1, "filename": "dotty_dict-0.1.9.tar.gz", "has_sig": false, "md5_digest": "1bff388a6497569cb99bf98e48cff887", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15457, "upload_time": "2017-05-06T16:10:27", "url": "https://files.pythonhosted.org/packages/db/0f/d5b10ae67ca08dc02bc7b764dbff7caa16579abc31c6a7cd1af5fb210f91/dotty_dict-0.1.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "2e0f680a8ed29842721802c676704de2", "sha256": "1d3f33fb718d453ec51c59154b46ad294393a000b221e6b16282ec9c7cd44de7" }, "downloads": -1, "filename": "dotty_dict-1.0.0.tar.gz", "has_sig": true, "md5_digest": "2e0f680a8ed29842721802c676704de2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32660, "upload_time": "2018-04-29T18:17:40", "url": "https://files.pythonhosted.org/packages/cf/91/2e85f8db91e363e5b05fbfc3a2caa064ec096f5cce50f4498c98b117e516/dotty_dict-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e69dc4e3ae98025d501146b4071e80d6", "sha256": "aad735bc1c52c733b008357d01bd87ca0d1eead93c5fbd6c4e2a8018076c56f0" }, "downloads": -1, "filename": "dotty_dict-1.0.1.tar.gz", "has_sig": true, "md5_digest": "e69dc4e3ae98025d501146b4071e80d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35100, "upload_time": "2018-11-18T18:57:38", "url": "https://files.pythonhosted.org/packages/e1/c7/541104682d6ddbe09fe3c5458142f88a41362de66649fc5e94361e88a3d4/dotty_dict-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "5af248a05920063ac3a01d835705153e", "sha256": "eeff2b42e9af79144e302b9c068f2700099162f4e3a65671be5ea828ae449869" }, "downloads": -1, "filename": "dotty_dict-1.0.2.tar.gz", "has_sig": true, "md5_digest": "5af248a05920063ac3a01d835705153e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35163, "upload_time": "2019-04-13T07:33:20", "url": "https://files.pythonhosted.org/packages/1d/ce/2006037bd6ec7dcd8d180e39996600319a5c322882472e7bf1a792c2a5f9/dotty_dict-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "057f00b00532a53361c01c35bd514636", "sha256": "bfe2ca59e8d1831b35cb4b591aaae9d4679b347f281676187cf6b31cf4523fc4" }, "downloads": -1, "filename": "dotty_dict-1.1.0.tar.gz", "has_sig": true, "md5_digest": "057f00b00532a53361c01c35bd514636", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36429, "upload_time": "2019-04-19T09:02:14", "url": "https://files.pythonhosted.org/packages/8c/33/896f79def5c10a6a8c6a1228d8571d24e4e6eeeaad576a8952322d87f43b/dotty_dict-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "1ed3f8762b525fd9ca3a2875fcff98bc", "sha256": "2d290a86bad0e7eb1cc5e748bcbb6ddf30597e2fb64613c5eca745a9b263ab91" }, "downloads": -1, "filename": "dotty_dict-1.1.1.tar.gz", "has_sig": true, "md5_digest": "1ed3f8762b525fd9ca3a2875fcff98bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36608, "upload_time": "2019-07-14T09:57:21", "url": "https://files.pythonhosted.org/packages/15/5e/364a4eebef491936d048e96deda26800a7cd9848e658db956a9c10bbd2c3/dotty_dict-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "42c6fe2a6ceb085d72db7a12bb98b7ee", "sha256": "2e11232771d41e37896119c4f4b2c24b177117d53ac25f65e6019038177c415b" }, "downloads": -1, "filename": "dotty_dict-1.1.2.tar.gz", "has_sig": true, "md5_digest": "42c6fe2a6ceb085d72db7a12bb98b7ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36704, "upload_time": "2019-07-17T15:21:17", "url": "https://files.pythonhosted.org/packages/d0/08/43acdabe71b0c47e2cb3886336667869987a10d3a2f0facee7c7811cadda/dotty_dict-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "fc4ba47eab98397687f2f1201514925f", "sha256": "92d561e7cb27d8abcfa3fa252a5ef954e562146edb5e1caba9beafe8b97c25c3" }, "downloads": -1, "filename": "dotty_dict-1.2.0.tar.gz", "has_sig": true, "md5_digest": "fc4ba47eab98397687f2f1201514925f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37181, "upload_time": "2019-09-19T19:46:56", "url": "https://files.pythonhosted.org/packages/7f/cc/ccbadadbdbe62d66ac9cdd9dc0dae88e3e495245e16cf3edab2b43e8cb62/dotty_dict-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "a4b62a2827e47fa60e6e08d39252d04e", "sha256": "0b6f1ebc26a442f4cb1f963dbda7f5a56a5993a7c1311b1feca77e0bfcc1a13b" }, "downloads": -1, "filename": "dotty_dict-1.2.1.tar.gz", "has_sig": true, "md5_digest": "a4b62a2827e47fa60e6e08d39252d04e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37260, "upload_time": "2019-10-15T13:33:52", "url": "https://files.pythonhosted.org/packages/3a/47/84d990d040ddefb9ad905dd3dc1608762f7d57220c65f0c1c1f4b1140e31/dotty_dict-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a4b62a2827e47fa60e6e08d39252d04e", "sha256": "0b6f1ebc26a442f4cb1f963dbda7f5a56a5993a7c1311b1feca77e0bfcc1a13b" }, "downloads": -1, "filename": "dotty_dict-1.2.1.tar.gz", "has_sig": true, "md5_digest": "a4b62a2827e47fa60e6e08d39252d04e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37260, "upload_time": "2019-10-15T13:33:52", "url": "https://files.pythonhosted.org/packages/3a/47/84d990d040ddefb9ad905dd3dc1608762f7d57220c65f0c1c1f4b1140e31/dotty_dict-1.2.1.tar.gz" } ] }