{ "info": { "author": "Desert contributors", "author_email": "python-desert@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Utilities" ], "description": "===============================\nDesert: DRY deserialization\n===============================\n\n\n\n\nDesert generates serialization schemas for ``dataclasses`` and ``attrs`` classes. Writing\ncode that's DRY (\"don't repeat yourself\") helps avoid bugs and improve readability. Desert\nhelps you write code that's DRY.\n\n\n\n\n\n\n\nInstallation\n============\n\n::\n\n pip install desert\n\nor with `Poetry`_\n\n::\n\n poetry add desert\n\n\nUsage\n=========\n\n..\n start-basic-usage\n\nA simple example models two ``Person`` objects in a ``Car``.\n\n.. code-block:: python\n\n\n\n from dataclasses import dataclass\n\n # Or using attrs\n # from attr import dataclass\n\n from typing import List\n\n\timport desert\n\n @dataclass\n class Person:\n name: str\n age: int\n\n @dataclass\n class Car:\n passengers: List[Person]\n\n # Load some simple data types.\n data = {'passengers': [{'name': 'Alice', 'age': 21}, {'name': 'Bob', 'age': 22}]}\n\n\n # Create a schema for the Car class.\n schema = desert.schema(Car)\n\n # Load the data.\n car = schema.load(data)\n assert car == Car(passengers=[Person(name='Alice', age=21), Person(name='Bob', age=22)])\n\n\n..\n end-basic-usage\n\nDocumentation\n=============\n\n\nhttps://desert.readthedocs.io/\n\n\nLimitations\n============\n\nString annotations and forward references inside of functions are not supported.\n\n\n\n\n\nAcknowledgements\n=================\n\n- This package began as an extension of marshmallow-dataclass_ to add support for attrs_.\n\n\n.. _Poetry: https://poetry.eustace.io\n.. _marshmallow-dataclass: https://pypi.org/project/marshmallow-dataclass/\n.. _attrs: http://www.attrs.org/\n\n2020.11.18 (2020-11-18)\n-----------------------\n\n\nChanges\n^^^^^^^\n\n- Schemas no longer copy non-field dataclass attributes. Thanks to @sveinse for report and test.\n `#79 `_\n\n\n----\n\n\n2020.01.06 (2020-01-06)\n-----------------------\n\n\nChanges\n^^^^^^^\n\n- Additional metadata are supported in ib() and fields(). Thanks to @sveinse for reporting and testing.\n `#28 `_\n\n\n----\n\n\n2020.01.05 (2020-01-05)\n-----------------------\n\n\nChanges\n^^^^^^^\n\n- Add support for attrs factories that take ``self`` (``attr.Factory(..., takes_self=True)``).\n `#27 `_\n\n\n----\n\n\n2020.01.04 (2020-01-04)\n-----------------------\n\n\nChanges\n^^^^^^^\n\n- Add support for Tuple[int, ...] per https://docs.python.org/3/library/typing.html#typing.Tuple\n `#16 `_ Thanks to @sveinse for reporting and testing.\n- Use module imports internally.\n `#18 `_\n- Desert version only needs to be updated in _version.py\n `#19 `_\n- Fix doctests.\n `#20 `_\n\n\n----\n\n\n2020.01.03\n--------------\n\nChanges\n^^^^^^^^\n\n- ``Optional`` fields allow ``None``. `#11 `__. Thanks to @sveinse for reporting and testing.\n\n2019.12.18\n--------------\n\nChanges\n^^^^^^^\n\n- Improve error message for unknown generics.\n `#10 `_\n\n2019.12.10\n--------------\n\nChanges\n^^^^^^^\n\n- Add ``UnknownType`` exception with better error message for types that should be generic.\n `#8 `_\n\n\n\n2019.12.09\n--------------\n\nChanges\n^^^^^^^\n\n- Marshmallow schema ``Meta`` arguments are accepted, allowing exclusion of unknown fields and other options.\n `#3 `_\n\n2019.11.06 (2019-11-06)\n-----------------------\n\n\nChanges\n^^^^^^^\n\n- Add twine and wheel development dependencies.\n `#2 `_\n\n\n----\n\n\n2019.11.06 (2019-11-06)\n-----------------------\n\nChanges\n^^^^^^^\n\n- Switch to calver\n\n\nBackward-incompatible Changes\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Non-optional fields without a default or factory now have `required=True` so raise ``marshmallow.exceptions.ValidationError`` when missing.\n `#1 `_\n\n\n----\n\n0.1.0 (2019-06-22)\n------------------\n\nChanges\n^^^^^^^\n\n- First release on PyPI.\n\n---\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/python-desert/desert", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "desert", "package_url": "https://pypi.org/project/desert/", "platform": "", "project_url": "https://pypi.org/project/desert/", "project_urls": { "Homepage": "https://github.com/python-desert/desert" }, "release_url": "https://pypi.org/project/desert/2020.11.18/", "requires_dist": [ "marshmallow (>=3.0)", "attrs", "typing-inspect", "dataclasses ; python_version < \"3.7\"", "coverage ; extra == 'dev'", "cuvner ; extra == 'dev'", "marshmallow-enum ; extra == 'dev'", "marshmallow-union ; extra == 'dev'", "pytest ; extra == 'dev'", "pytest-cov ; extra == 'dev'", "pytest-sphinx ; extra == 'dev'", "pytest-travis-fold ; extra == 'dev'", "tox ; extra == 'dev'", "importlib-metadata ; extra == 'dev'", "versioneer ; extra == 'dev'", "black ; extra == 'dev'", "pylint ; extra == 'dev'", "pex ; extra == 'dev'", "bump2version ; extra == 'dev'", "docutils ; extra == 'dev'", "check-manifest ; extra == 'dev'", "readme-renderer ; extra == 'dev'", "pygments ; extra == 'dev'", "isort ; extra == 'dev'", "mypy ; extra == 'dev'", "towncrier ; extra == 'dev'", "twine ; extra == 'dev'", "wheel ; extra == 'dev'", "coverage ; extra == 'test'", "cuvner ; extra == 'test'", "marshmallow-enum ; extra == 'test'", "marshmallow-union ; extra == 'test'", "pytest ; extra == 'test'", "pytest-cov ; extra == 'test'", "pytest-sphinx ; extra == 'test'", "pytest-travis-fold ; extra == 'test'", "tox ; extra == 'test'", "importlib-metadata ; extra == 'test'" ], "requires_python": ">=3.6", "summary": "Deserialize to objects while staying DRY", "version": "2020.11.18", "yanked": false, "yanked_reason": null }, "last_serial": 8716785, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "a36cff6b5c148a5fae4e32c26e7afda0", "sha256": "804c4f1bfc3574a9412c273e226250249071bb2ff07894521c411fd44cf3cc57" }, "downloads": -1, "filename": "desert-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a36cff6b5c148a5fae4e32c26e7afda0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12013, "upload_time": "2019-10-22T20:54:26", "upload_time_iso_8601": "2019-10-22T20:54:26.904175Z", "url": "https://files.pythonhosted.org/packages/c3/1d/34ad37218a4f03d7b9ab5498e20dc3c67313876408e175ec6d3d71b05c2e/desert-0.1.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.1.post1": [ { "comment_text": "", "digests": { "md5": "1df262fbbd97db939eba0ca0da859a36", "sha256": "574c102df2d72a865440e828ea92a2c3f23b185bc355bed04502f67d79df6714" }, "downloads": -1, "filename": "desert-0.1.1.post1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1df262fbbd97db939eba0ca0da859a36", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12088, "upload_time": "2019-10-22T20:56:41", "upload_time_iso_8601": "2019-10-22T20:56:41.328193Z", "url": "https://files.pythonhosted.org/packages/96/1b/730163eeedaf5a443db99b4c46d26212a72bf3c264a3849fb89f4d4bef94/desert-0.1.1.post1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1f0ec7d17586544438ff6bfd84bf0faf", "sha256": "be9ed3ddc9c0d7a9a9e6a64cbbf10009e1e98338420cfe8c2317c9bf15aa0216" }, "downloads": -1, "filename": "desert-0.1.1.post1.tar.gz", "has_sig": false, "md5_digest": "1f0ec7d17586544438ff6bfd84bf0faf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25340, "upload_time": "2019-10-22T20:56:42", "upload_time_iso_8601": "2019-10-22T20:56:42.881941Z", "url": "https://files.pythonhosted.org/packages/ac/74/6c4e9f7246e0f94abec7efa09a4dfa1a9aa0fee3b60cfe047d8fc6c8ce4c/desert-0.1.1.post1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1.post2": [ { "comment_text": "", "digests": { "md5": "8d2477ab80cffdad85050a9f42b3fd50", "sha256": "57bec7110ed5fae934e84ced7d05a4738cb8061a410786ad0fec9bdcca7385e8" }, "downloads": -1, "filename": "desert-0.1.1.post2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8d2477ab80cffdad85050a9f42b3fd50", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12086, "upload_time": "2019-10-22T20:58:13", "upload_time_iso_8601": "2019-10-22T20:58:13.659437Z", "url": "https://files.pythonhosted.org/packages/af/8a/4c4d819a764251f35313ca012410e56b279f5d12c7aee2f532a90093cabb/desert-0.1.1.post2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "57da8427a253c29f78c03c1b5951192c", "sha256": "2ee2d718d95af13628f5abf4a6f1503086e93fefb0c541daa939c5d88f9a11e5" }, "downloads": -1, "filename": "desert-0.1.1.post2.tar.gz", "has_sig": false, "md5_digest": "57da8427a253c29f78c03c1b5951192c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25347, "upload_time": "2019-10-22T20:58:15", "upload_time_iso_8601": "2019-10-22T20:58:15.426917Z", "url": "https://files.pythonhosted.org/packages/fd/f1/e300a33fb445f6ab7ba51bf29f6c993daa2c730007776030a831149ad6f7/desert-0.1.1.post2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1.post3": [ { "comment_text": "", "digests": { "md5": "03afb53e755ff5529cc943ce836d9ab3", "sha256": "59421e8c4f9d1cf2d31b07e5b0b173adae0f69d0c69b94522c361c02209944de" }, "downloads": -1, "filename": "desert-0.1.1.post3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03afb53e755ff5529cc943ce836d9ab3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11939, "upload_time": "2019-10-22T23:02:24", "upload_time_iso_8601": "2019-10-22T23:02:24.269194Z", "url": "https://files.pythonhosted.org/packages/95/94/c965d89e6876fa9762bab91e4afec2baaf3b9ffeedf728e29a41fc020e9f/desert-0.1.1.post3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "060aedf25ab83a0531c36c829224d757", "sha256": "85d7c70afe5363465c9d39cb24ead96a7febfe29208c157b0944e7b1bb9a2a9f" }, "downloads": -1, "filename": "desert-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "060aedf25ab83a0531c36c829224d757", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11858, "upload_time": "2019-10-22T23:02:27", "upload_time_iso_8601": "2019-10-22T23:02:27.313026Z", "url": "https://files.pythonhosted.org/packages/60/04/23ab566d8aea6ddceec2db9118664e28497cdb488dc55a7eb5fb7d3608ae/desert-0.1.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "8eb1e13d0587835945e80f1a546d5f4d", "sha256": "78147fb0de3d74b1292d221faa7a3be1e17bc07c676d2084b6f8fee4dac0a2c0" }, "downloads": -1, "filename": "desert-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8eb1e13d0587835945e80f1a546d5f4d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12217, "upload_time": "2019-10-24T03:37:36", "upload_time_iso_8601": "2019-10-24T03:37:36.740075Z", "url": "https://files.pythonhosted.org/packages/50/fa/b8262bae0e04316268a8bb4e6176a434a6349fe5c3bacb96e34e17eec021/desert-0.1.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3f9108193c6bc48d514e9dcef25ffd45", "sha256": "0b7d28e57f3728bd9c1ecbe7e1d1763889ed44b0d06ef6e21e2e3231325376fa" }, "downloads": -1, "filename": "desert-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f9108193c6bc48d514e9dcef25ffd45", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12415, "upload_time": "2019-10-24T06:51:14", "upload_time_iso_8601": "2019-10-24T06:51:14.373585Z", "url": "https://files.pythonhosted.org/packages/f1/02/750e5ff459d9e528cdd9a5848da2b4b1c48d9323c1475443aeadcbfa3199/desert-0.1.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "83f57b675115b6d807e7b19abce0797e", "sha256": "a60d0b21cfe1c7d767ff97eb2386b44adb1259d28ae83023ba4daa519d8df196" }, "downloads": -1, "filename": "desert-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "83f57b675115b6d807e7b19abce0797e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12479, "upload_time": "2019-10-28T20:18:38", "upload_time_iso_8601": "2019-10-28T20:18:38.269526Z", "url": "https://files.pythonhosted.org/packages/ac/08/3e3afb20c1c69c2a53ea6694bae85ed71b9689d23dedb0e9e1f5d0ed5068/desert-0.1.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "869ccfc28303785807d9ffd9da15adb8", "sha256": "5038d2a602f4c2b7d104e58da3e6b93b4e0ec036827aeb7ea9d306d6dfa83cce" }, "downloads": -1, "filename": "desert-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "869ccfc28303785807d9ffd9da15adb8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12469, "upload_time": "2019-10-28T20:25:32", "upload_time_iso_8601": "2019-10-28T20:25:32.856607Z", "url": "https://files.pythonhosted.org/packages/f5/93/b018d77eb4b32d0f84bd6acce614eb75cb9c1d035801ad5c438d7c0ce2d4/desert-0.1.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "2019.11.6": [ { "comment_text": "", "digests": { "md5": "2177af5781119fe29b9d07e7d2c5766a", "sha256": "110845af096faa265088de42ea0084043a371f11f41af759765ed866b3aa5a63" }, "downloads": -1, "filename": "desert-2019.11.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2177af5781119fe29b9d07e7d2c5766a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12901, "upload_time": "2019-11-06T20:32:22", "upload_time_iso_8601": "2019-11-06T20:32:22.482872Z", "url": "https://files.pythonhosted.org/packages/26/b1/589255c03988186370cbd0e43f82fcedb15265bf2cac81ffd56a5b018923/desert-2019.11.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "2019.12.10": [ { "comment_text": "", "digests": { "md5": "9b9ea9277e98b4dcf8150b7132c44139", "sha256": "02eb580a4f9f40e65120877c1ab275981b60da762880fdbbada1a456c93c39cf" }, "downloads": -1, "filename": "desert-2019.12.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9b9ea9277e98b4dcf8150b7132c44139", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13067, "upload_time": "2019-12-10T06:50:56", "upload_time_iso_8601": "2019-12-10T06:50:56.385303Z", "url": "https://files.pythonhosted.org/packages/f5/da/b0965ac33927107200509f1cc011823b621d9f8f153cca62439fc35cc4c6/desert-2019.12.10-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "613a9d1cf3bfb9de64557b021e93d8a4", "sha256": "10bc3dfdd18cf5367d79a6a57b7cb0550896a9fd5575c14fd4d4c606b6176047" }, "downloads": -1, "filename": "desert-2019.12.10.tar.gz", "has_sig": false, "md5_digest": "613a9d1cf3bfb9de64557b021e93d8a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29445, "upload_time": "2019-12-10T06:50:58", "upload_time_iso_8601": "2019-12-10T06:50:58.055962Z", "url": "https://files.pythonhosted.org/packages/6a/59/f13cd6b90973fe3d9f372aa93039fa847405f14c45e143331a47eeeb8d6c/desert-2019.12.10.tar.gz", "yanked": false, "yanked_reason": null } ], "2019.12.18": [ { "comment_text": "", "digests": { "md5": "059545448bce747ba3cf71e528bf385b", "sha256": "74a50a1d0cc25d53ea6a96e234ca963b2f37ea9105215d631ba966853bbb1d50" }, "downloads": -1, "filename": "desert-2019.12.18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "059545448bce747ba3cf71e528bf385b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13239, "upload_time": "2019-12-19T00:59:18", "upload_time_iso_8601": "2019-12-19T00:59:18.063918Z", "url": "https://files.pythonhosted.org/packages/4c/70/16a5d8eb8bdb39d69c4fb2ae70d3835505a7e5974b714c7b1d444185f85f/desert-2019.12.18-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f92872b6e8ae6e028d56427ae2e81dcf", "sha256": "a2a1129c0ab23126225da9fc7038d69fad8e0de5839d3f01015907730a9a9031" }, "downloads": -1, "filename": "desert-2019.12.18.tar.gz", "has_sig": false, "md5_digest": "f92872b6e8ae6e028d56427ae2e81dcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29802, "upload_time": "2019-12-19T00:59:20", "upload_time_iso_8601": "2019-12-19T00:59:20.122909Z", "url": "https://files.pythonhosted.org/packages/c7/ca/6376558a2e264cd2b66243515de79e11761a684caff3efcda0e82f803e5e/desert-2019.12.18.tar.gz", "yanked": false, "yanked_reason": null } ], "2019.12.9": [ { "comment_text": "", "digests": { "md5": "20aad53fa14ce889687fbe20fec91426", "sha256": "64310f9dd25bd670875018e12221e9fbb6e1726e9f968358e2d9d824dfc1f1d1" }, "downloads": -1, "filename": "desert-2019.12.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "20aad53fa14ce889687fbe20fec91426", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12865, "upload_time": "2019-12-09T21:47:02", "upload_time_iso_8601": "2019-12-09T21:47:02.263142Z", "url": "https://files.pythonhosted.org/packages/b4/de/1b4b913543b4c3f9d7319db51a527b1746ec3e191dc48ebc4e7cc6f588f8/desert-2019.12.9-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2f36a4eb1f9b9a150e13c566d6769d0f", "sha256": "3eebdb3132ff41075cbce8a989c3e6bf7987c2226b080672bafae7ab48f83bcb" }, "downloads": -1, "filename": "desert-2019.12.9.tar.gz", "has_sig": false, "md5_digest": "2f36a4eb1f9b9a150e13c566d6769d0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29174, "upload_time": "2019-12-09T21:47:03", "upload_time_iso_8601": "2019-12-09T21:47:03.756277Z", "url": "https://files.pythonhosted.org/packages/e1/6b/f0f0ef48cf49997b8825f2b8c79e586cfd2e9cac250464203fcd24589e52/desert-2019.12.9.tar.gz", "yanked": false, "yanked_reason": null } ], "2020.1.3": [ { "comment_text": "", "digests": { "md5": "a004b038d3ec823734344e23a878425e", "sha256": "e563c97056d8664195b8d9f0f90f5e594e301431da8c41b8d5da864300500ecc" }, "downloads": -1, "filename": "desert-2020.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a004b038d3ec823734344e23a878425e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9010, "upload_time": "2020-01-03T18:05:10", "upload_time_iso_8601": "2020-01-03T18:05:10.035838Z", "url": "https://files.pythonhosted.org/packages/86/fe/b904e99e4b54983c3b2cb4746c418acee5f25cabdf9aa45cc7b7dfa1e3bf/desert-2020.1.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "67e7ce94bf76dd1e98774d2b969fd173", "sha256": "58370a361311c3402e080499663c898e5e9e3d1ffa8a8f915a4ec3dce14a4122" }, "downloads": -1, "filename": "desert-2020.1.3.tar.gz", "has_sig": false, "md5_digest": "67e7ce94bf76dd1e98774d2b969fd173", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29976, "upload_time": "2020-01-03T18:05:11", "upload_time_iso_8601": "2020-01-03T18:05:11.921260Z", "url": "https://files.pythonhosted.org/packages/47/33/b99d6ec72625101aceea9be7998489b58f658b3493dc4bede29ff03c53be/desert-2020.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2020.1.4": [ { "comment_text": "", "digests": { "md5": "a2d91a1d4779c87b6806f032f0275d9c", "sha256": "7dde30f8b791f2d00e69824437dbad2b9cbfd4ae16034ba1721e2ea91bd5db3c" }, "downloads": -1, "filename": "desert-2020.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a2d91a1d4779c87b6806f032f0275d9c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9313, "upload_time": "2020-01-04T21:43:53", "upload_time_iso_8601": "2020-01-04T21:43:53.002959Z", "url": "https://files.pythonhosted.org/packages/cb/03/e6b9edde3deeae63292340828577ed06cb38e4b54d6c7f5a9320f7b5fd98/desert-2020.1.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "32329f53f40fe07561e07958c509978f", "sha256": "0401a50105821eb37b8ba2b5d028ab3af32aef452a8fd5cc1d3fe2c32ec7dee5" }, "downloads": -1, "filename": "desert-2020.1.4.tar.gz", "has_sig": false, "md5_digest": "32329f53f40fe07561e07958c509978f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30655, "upload_time": "2020-01-04T21:43:55", "upload_time_iso_8601": "2020-01-04T21:43:55.425024Z", "url": "https://files.pythonhosted.org/packages/47/58/f45f411c45609e78c0599496ec42c0733198f7176d5e75f2d77e337fe352/desert-2020.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2020.1.5": [ { "comment_text": "", "digests": { "md5": "33b60c227eaef0a6c02e4f2ed2022e08", "sha256": "2210a65a993a143513fbee4c2581359e251acd4c06516d2b1accc818247258c6" }, "downloads": -1, "filename": "desert-2020.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33b60c227eaef0a6c02e4f2ed2022e08", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13637, "upload_time": "2020-01-05T21:48:48", "upload_time_iso_8601": "2020-01-05T21:48:48.551896Z", "url": "https://files.pythonhosted.org/packages/d3/76/a30a0d3a193743a562cbfc24888a1fee6621eed3c3e38b49bcb8f0a1b8fa/desert-2020.1.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f30ded082acb46f3b9738e9b9b09cd67", "sha256": "f7c0f9fe6e8fcb23e3c4c2dea1116eef8447840ea76edb697dc378b698031390" }, "downloads": -1, "filename": "desert-2020.1.5.tar.gz", "has_sig": false, "md5_digest": "f30ded082acb46f3b9738e9b9b09cd67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30853, "upload_time": "2020-01-05T21:48:50", "upload_time_iso_8601": "2020-01-05T21:48:50.832256Z", "url": "https://files.pythonhosted.org/packages/18/13/d2f48ba15b3101c5a21882f9e7ca70cc9f6051128a561925778b57865761/desert-2020.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2020.1.6": [ { "comment_text": "", "digests": { "md5": "654ed8ca81edde23ec6ffc8fed6ed44c", "sha256": "190ab1c690472ab1c1ef7614f9a73171c1e911cef42d7b45a67f9b7d6900763d" }, "downloads": -1, "filename": "desert-2020.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "654ed8ca81edde23ec6ffc8fed6ed44c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13695, "upload_time": "2020-01-06T21:37:55", "upload_time_iso_8601": "2020-01-06T21:37:55.051464Z", "url": "https://files.pythonhosted.org/packages/85/de/bc71eff26801df701c91e30320f53a7e4d212aebcac9890f9bf33d6a3adc/desert-2020.1.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b480fecf5c3bc0628ce3f56cc8df9f67", "sha256": "e64cd61e16607bb3096ab1b1763c9f229ebcf8b3f871f4db52fb803e1c000385" }, "downloads": -1, "filename": "desert-2020.1.6.tar.gz", "has_sig": false, "md5_digest": "b480fecf5c3bc0628ce3f56cc8df9f67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31096, "upload_time": "2020-01-06T21:37:57", "upload_time_iso_8601": "2020-01-06T21:37:57.029218Z", "url": "https://files.pythonhosted.org/packages/19/6b/d03e8204ccc58d02413a77ac58c45f6679db34d8ac67ca3cd988c7a61363/desert-2020.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "2020.11.18": [ { "comment_text": "", "digests": { "md5": "7dab4665682678da4b40eff51a362b34", "sha256": "6392702be7952fb9c8bbc775425fa929c1eab5c06552c2890e82a24964eeb084" }, "downloads": -1, "filename": "desert-2020.11.18-py3-none-any.whl", "has_sig": false, "md5_digest": "7dab4665682678da4b40eff51a362b34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9483, "upload_time": "2020-11-21T19:47:14", "upload_time_iso_8601": "2020-11-21T19:47:14.550271Z", "url": "https://files.pythonhosted.org/packages/28/54/24f6d7f88e460a2695de692d493499bc919fe767f4f0d49e22b27f2a379c/desert-2020.11.18-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "987e53dc265f22f9a4a3e5c7646e532c", "sha256": "d7b7fb521dc84eec955a766ed7e37349f998cf047f37fd9596cb09737d63c62d" }, "downloads": -1, "filename": "desert-2020.11.18.tar.gz", "has_sig": false, "md5_digest": "987e53dc265f22f9a4a3e5c7646e532c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 50962, "upload_time": "2020-11-21T19:47:16", "upload_time_iso_8601": "2020-11-21T19:47:16.035744Z", "url": "https://files.pythonhosted.org/packages/f0/ce/ed784b6d4c9022fbfd0dab3544de80dbcab6fc64cc3ab777619ed9e71981/desert-2020.11.18.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7dab4665682678da4b40eff51a362b34", "sha256": "6392702be7952fb9c8bbc775425fa929c1eab5c06552c2890e82a24964eeb084" }, "downloads": -1, "filename": "desert-2020.11.18-py3-none-any.whl", "has_sig": false, "md5_digest": "7dab4665682678da4b40eff51a362b34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9483, "upload_time": "2020-11-21T19:47:14", "upload_time_iso_8601": "2020-11-21T19:47:14.550271Z", "url": "https://files.pythonhosted.org/packages/28/54/24f6d7f88e460a2695de692d493499bc919fe767f4f0d49e22b27f2a379c/desert-2020.11.18-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "987e53dc265f22f9a4a3e5c7646e532c", "sha256": "d7b7fb521dc84eec955a766ed7e37349f998cf047f37fd9596cb09737d63c62d" }, "downloads": -1, "filename": "desert-2020.11.18.tar.gz", "has_sig": false, "md5_digest": "987e53dc265f22f9a4a3e5c7646e532c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 50962, "upload_time": "2020-11-21T19:47:16", "upload_time_iso_8601": "2020-11-21T19:47:16.035744Z", "url": "https://files.pythonhosted.org/packages/f0/ce/ed784b6d4c9022fbfd0dab3544de80dbcab6fc64cc3ab777619ed9e71981/desert-2020.11.18.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }