{ "info": { "author": "David Mertz", "author_email": "mertz@gnosis.cx", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "This module is intended to ease access to nested data\nstructures\u2014in any combination of key or attribue access to each\nlevel of a hierarchy\u2014where many paths in the tree may be missing.\nTypically, such data is encountered in semi-structured formats\nlike JSON, YAML, or some XML, that is deserialized into Python\ndata structures.\n\nPEP 505 attempts to address this need with the addition of a\nnumber of new syntactic operators for attribute or item access\nwhere a special type of failure mode \"coalesces\" None values.\nOther libraries such as PyMaybe (https://pymaybe.readthedocs.io)\nperform a similar operation, and are more mature and robust.\n\nOn the other hand, by utilizing `wrapt.ObjectProxy`, this simple\nmodule manages to do some pretty neat stuff that even PyMaybe does\nnot.\n\nIn this library, I simply want to provide simple wrapper classes that\nprovide both what I think is more useful behavior and behavior that\nis semantically equivalent to PEP 505.\n\nClasses:\n\n GreedyAccess: \n \n Wrap an object so that nested attribute and item access\n simply does not fail, but propagates a wrapped object \n across such nested access.\n\n NullCoalesce:\n\n Wrap an object so that encountering a None (or other\n indicated sentinel) at any level stops accessing further \n attributes and unboxes as a None (or other sentinel).\n\n Aliased as `NoneCoalesce`\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/DavidMertz/coalesce", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "coalescing", "package_url": "https://pypi.org/project/coalescing/", "platform": "", "project_url": "https://pypi.org/project/coalescing/", "project_urls": { "Homepage": "https://github.com/DavidMertz/coalesce" }, "release_url": "https://pypi.org/project/coalescing/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "Access messy nested data structures", "version": "0.1.1" }, "last_serial": 4102750, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "4e2719030845ded047df634cfaefd8b6", "sha256": "4807245da9ec20e3292ed9362fc1cf7ccfa001f148c15a17b623c1488295ab7d" }, "downloads": -1, "filename": "coalescing-0.1.tar.gz", "has_sig": false, "md5_digest": "4e2719030845ded047df634cfaefd8b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2159, "upload_time": "2018-07-24T03:00:38", "url": "https://files.pythonhosted.org/packages/10/ac/ded1e6195c93ef47bbec32bdf59f24674dc9a7ca08f205815a03d6987a46/coalescing-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "035500995c53c5d526f9e2957fda1f6d", "sha256": "5319c2f556c250d49283d08380664990366d437183f3149c9e9e28f84e2b71b9" }, "downloads": -1, "filename": "coalescing-0.1.1.tar.gz", "has_sig": false, "md5_digest": "035500995c53c5d526f9e2957fda1f6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2671, "upload_time": "2018-07-26T02:25:20", "url": "https://files.pythonhosted.org/packages/f3/f4/120f04cc59f9fa8c55c711b67f1c9c34d8a59c34cd69249e6ff61b098987/coalescing-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "035500995c53c5d526f9e2957fda1f6d", "sha256": "5319c2f556c250d49283d08380664990366d437183f3149c9e9e28f84e2b71b9" }, "downloads": -1, "filename": "coalescing-0.1.1.tar.gz", "has_sig": false, "md5_digest": "035500995c53c5d526f9e2957fda1f6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2671, "upload_time": "2018-07-26T02:25:20", "url": "https://files.pythonhosted.org/packages/f3/f4/120f04cc59f9fa8c55c711b67f1c9c34d8a59c34cd69249e6ff61b098987/coalescing-0.1.1.tar.gz" } ] }