{ "info": { "author": "Douglas Anderson", "author_email": "hockeybuggy@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7" ], "description": "# dataclass_structor\n\n[![Documentation Status](https://readthedocs.org/projects/dataclass-structor/badge/?version=latest)](https://dataclass-structor.readthedocs.io/en/latest/?badge=latest)\n![PyPI - License](https://img.shields.io/pypi/v/dataclass_structor.svg)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dataclass_structor.svg)\n![PyPI - License](https://img.shields.io/pypi/l/dataclass_structor.svg)\n[![Build Status](https://api.cirrus-ci.com/github/hockeybuggy/dataclass_structor.svg)](https://cirrus-ci.com/github/hockeybuggy/dataclass_structor)\n\nA type aware structor/destructor for python value objects.\n\n\n## Install\n\n```shell\npip install dataclass_structor\n```\n\n\n## Documentation\n\nThe [docs for this project can be found here](dataclass-structor.readthedocs.io).\n\n\n## Example\n\n```python\n\nimport dataclasses\nimport typing\n\nfrom dataclass_structor import structure, unstructure\n\n\n@dataclasses.dataclass\nclass Invite:\n email: str\n guests: typing.List[\"Guest\"]\n\n\n@dataclasses.dataclass\nclass Guest:\n first_name: typing.Optional[str] = None\n\n\nvalue_type = Invite(\n email=\"testing\",\n guests=[\n Guest(first_name=\"John\"),\n Guest(),\n ],\n)\n\nx = unstructure(value_type)\nassert x == {\"email\": \"\", \"guests\": [{\"first_name\": \"John\"}, {\"first_name\": None}]}\n\nassert structure(x, Invite) == value_type\n```\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hockeybuggy/dataclass_structor", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "dataclass_structor", "package_url": "https://pypi.org/project/dataclass_structor/", "platform": "", "project_url": "https://pypi.org/project/dataclass_structor/", "project_urls": { "Documentation": "https://dataclass-structor.readthedocs.io", "Homepage": "https://github.com/hockeybuggy/dataclass_structor" }, "release_url": "https://pypi.org/project/dataclass_structor/0.0.6/", "requires_dist": null, "requires_python": ">=3.7", "summary": "Typed object structure/destructure.", "version": "0.0.6" }, "last_serial": 4990561, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "08e0de7f4673149848cb035edc473fac", "sha256": "6447c7acc6731b57158c106bfb6227229a27d56b0d5d2db70a157862a27ec8a8" }, "downloads": -1, "filename": "dataclass_structor-0.0.2.tar.gz", "has_sig": false, "md5_digest": "08e0de7f4673149848cb035edc473fac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1621, "upload_time": "2018-09-06T03:28:10", "url": "https://files.pythonhosted.org/packages/9c/e4/c4574730dd7e5cb1928461112d3809cf77596dacabf499e2bd5db8c67716/dataclass_structor-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "eab2ded37e4523dff47c63cf009659ee", "sha256": "006fa611a120c4c01049d0f99464d3bda15970cefbace662d1bee1f6811892a2" }, "downloads": -1, "filename": "dataclass_structor-0.0.3.tar.gz", "has_sig": false, "md5_digest": "eab2ded37e4523dff47c63cf009659ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1662, "upload_time": "2019-03-10T16:34:09", "url": "https://files.pythonhosted.org/packages/70/64/ad1d4adb62b3a1ad417a1fcebd92358c350f9011b8b2d9ce166c852c39e9/dataclass_structor-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "a39796da79bf50afcb38eb77a20a24bf", "sha256": "1a7bd0795766afd486672eacf776a8636a725e0e84a793374417f704e415d9cc" }, "downloads": -1, "filename": "dataclass_structor-0.0.4.tar.gz", "has_sig": false, "md5_digest": "a39796da79bf50afcb38eb77a20a24bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1662, "upload_time": "2019-03-10T16:54:01", "url": "https://files.pythonhosted.org/packages/fd/ca/c2361d10dce75f93b843741908622e2d77d1d3705872ff3bcd3db761e393/dataclass_structor-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "92fd7863fdf64159c495cd39b09c8df2", "sha256": "272437d9e21e882db2d7127665416c1f35d933771097d0729088950a5013b0c8" }, "downloads": -1, "filename": "dataclass_structor-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "92fd7863fdf64159c495cd39b09c8df2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11480, "upload_time": "2019-03-10T17:45:22", "url": "https://files.pythonhosted.org/packages/7b/80/665b2f8928b38b76c2fec6a67036259a1f03866ddc3fe24d6a646094dbe7/dataclass_structor-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0930626ac190ad1577357ab30a007ba7", "sha256": "df808b23d12c298871953fb6fcd3f4b6fce1a3dee45610322e1a4f93a9302275" }, "downloads": -1, "filename": "dataclass_structor-0.0.5.tar.gz", "has_sig": false, "md5_digest": "0930626ac190ad1577357ab30a007ba7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 29469, "upload_time": "2019-03-10T17:45:23", "url": "https://files.pythonhosted.org/packages/df/a9/71ef6a580b56b046fdec0c127507c0e990a0224370118359be6a0ec70300/dataclass_structor-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "28e4de688c249493453a0474f26ce7bd", "sha256": "930690d452b9cb643dc73dc11e6b506349540fe8709f0e47ebfc06648378a9fa" }, "downloads": -1, "filename": "dataclass_structor-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "28e4de688c249493453a0474f26ce7bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11487, "upload_time": "2019-03-27T02:52:07", "url": "https://files.pythonhosted.org/packages/f5/f0/841e57be3babfa3f8dff268ec6773bab0048f79670a170f841f4b101f817/dataclass_structor-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "672df9db83ab15013983ef4e7f121595", "sha256": "5c437bc3d521c579d818c3158dbc54b21c5401a63c5e331485f6a0f80ed014b2" }, "downloads": -1, "filename": "dataclass_structor-0.0.6.tar.gz", "has_sig": false, "md5_digest": "672df9db83ab15013983ef4e7f121595", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 29873, "upload_time": "2019-03-27T02:52:09", "url": "https://files.pythonhosted.org/packages/4d/4c/5629b382eafc4c09b7fdfc9b71c0d534fa07d2daaaa350752681ec6dbcc9/dataclass_structor-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "28e4de688c249493453a0474f26ce7bd", "sha256": "930690d452b9cb643dc73dc11e6b506349540fe8709f0e47ebfc06648378a9fa" }, "downloads": -1, "filename": "dataclass_structor-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "28e4de688c249493453a0474f26ce7bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11487, "upload_time": "2019-03-27T02:52:07", "url": "https://files.pythonhosted.org/packages/f5/f0/841e57be3babfa3f8dff268ec6773bab0048f79670a170f841f4b101f817/dataclass_structor-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "672df9db83ab15013983ef4e7f121595", "sha256": "5c437bc3d521c579d818c3158dbc54b21c5401a63c5e331485f6a0f80ed014b2" }, "downloads": -1, "filename": "dataclass_structor-0.0.6.tar.gz", "has_sig": false, "md5_digest": "672df9db83ab15013983ef4e7f121595", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 29873, "upload_time": "2019-03-27T02:52:09", "url": "https://files.pythonhosted.org/packages/4d/4c/5629b382eafc4c09b7fdfc9b71c0d534fa07d2daaaa350752681ec6dbcc9/dataclass_structor-0.0.6.tar.gz" } ] }