{ "info": { "author": "Tyson Holub", "author_email": "tyson@tysonholub.com", "bugtrack_url": null, "classifiers": [], "description": "# RestResponse [![CircleCI](https://circleci.com/gh/tysonholub/RestResponse.svg?style=shield)](https://circleci.com/gh/tysonholub/RestResponse) [![PyPi](https://img.shields.io/badge/python-2.7%20%7C%203.4%20%7C%203.5%20%7C%203.6%20%7C%203.7%20%7C%203.8-%2344CC11)](https://pypi.org/project/RestResponse/) [![PyPiStats](https://img.shields.io/pypi/dm/restresponse.svg)](https://pypistats.org/packages/restresponse)\n\nRestResponse aims to be a fluent python object for interfacing with RESTful JSON APIs\n\n## Installation\n\nAdd this line to your application's requirements.txt:\n\n```python\nRestResponse\n```\n\nAnd then execute:\n\n $ pip install -r requirements.txt\n\nOr install it yourself as:\n\n $ pip install RestResponse\n\n## Usage\n\nImport RestResponse and call parse on any list, dict, or primitive. You can also call loads on serialized json\n\n```python\n>>> import RestResponse\n>>> import requests\n>>> r = requests.get('http://jsonplaceholder.typicode.com/users')\n>>> users = RestResponse.parse(r.json())\n>>> # or\n... users = RestResponse.loads(r.text)\n>>> for user in users:\n... print user.name\n...\nLeanne Graham\nErvin Howell\nClementine Bauch\nPatricia Lebsack\nChelsey Dietrich\nMrs. Dennis Schulist\nKurtis Weissnat\nNicholas Runolfsdottir V\nGlenna Reichert\nClementina DuBuque\n>>> user = users[0]\n>>> print user.pretty_print(indent=4)\n{\n \"username\": \"Bret\",\n \"website\": \"hildegard.org\",\n \"name\": \"Leanne Graham\",\n \"company\": {\n \"bs\": \"harness real-time e-markets\",\n \"name\": \"Romaguera-Crona\",\n \"catchPhrase\": \"Multi-layered client-server neural-net\"\n },\n \"id\": 1,\n \"phone\": \"1-770-736-8031 x56442\",\n \"address\": {\n \"suite\": \"Apt. 556\",\n \"street\": \"Kulas Light\",\n \"geo\": {\n \"lat\": \"-37.3159\",\n \"lng\": \"81.1496\"\n },\n \"zipcode\": \"92998-3874\",\n \"city\": \"Gwenborough\"\n },\n \"email\": \"Sincere@april.biz\"\n}\n>>> user.name = 'Rest Response'\n>>> r = requests.put('http://jsonplaceholder.typicode.com/users/{0}'.format(user.id), json=user)\n>>> # or if you choose to NOT allow by overriding\n>>> # json._default_encoder = RestEncoder()\n>>> # simplejson._default_encoder = RestEncoder()\n>>> # use __call__ on RestResponseObj to explicitly dump and load via RestEncoder\n>>> r = requests.put('http://jsonplaceholder.typicode.com/users/{0}'.format(user.id), json=user()) # Note __call__ on user\n>>> response = RestResponse.parse(r.json())\n>>> print response.name\nRest Response\n>>> new = RestResponse.parse({})\n>>> new.id = 5\n>>> if not new.username:\n... new.username = 'New User'\n...\n>>> new.address.geo.lat = \"-42.3433\"\n>>> new.address.geo.lng = \"74.3433\"\n>>> new.email = 'someone@somewhere.biz'\n>>> print new.pretty_print()\n{\n \"username\": \"New User\",\n \"email\": \"someone@somewhere.biz\",\n \"id\": 5,\n \"address\": {\n \"geo\": {\n \"lat\": \"-42.3433\",\n \"lng\": \"74.3433\"\n }\n }\n}\n```\n### Callables\nCallable properties will be encoded via [cloudpickle](https://github.com/cloudpipe/cloudpickle) and base64 prefixed with `__callable__: `.\n```python\n>>> import RestResponse\n>>> data = RestResponse.parse({'callable': lambda x: x + 1})\n>>> data.callable\n at 0x7f92593de9b0>\n>>> data.callable(1)\n2\n>>> pretty_str = data.pretty_print()\n>>> print pretty_str\n{\n \"callable\": \"__callable__: gAJjY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGUKX2ZpbGxfZnVuY3Rpb24KcQAoY2Nsb3VkcGlja2xlLmNsb3VkcGlja2xlCl9tYWtlX3NrZWxfZnVuYwpxAWNjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZQpfYnVpbHRpbl90eXBlCnECVQhDb2RlVHlwZXEDhXEEUnEFKEsBSwFLAktDVQh8AABkAQAXU3EGTksBhnEHKVUBeHEIhXEJVQc8c3RkaW4+cQpVCDxsYW1iZGE+cQtLAVUAcQwpKXRxDVJxDkr/////VQhfX21haW5fX3EPh3EQUnERfXESKFUEbmFtZXETaAtVA2RvY3EUTlUGbW9kdWxlcRVoD1UOY2xvc3VyZV92YWx1ZXNxFk5VB2dsb2JhbHNxF31xGFUEZGljdHEZfXEaVQhkZWZhdWx0c3EbTnV0Ui4=\"\n}\n>>> data = RestResponse.loads(pretty_str)\n>>> data.callable(1)\n2\n```\n### Binary\nProperties detected as binary data will be encoded via base64 prefixed with `__binary__: `.\n```python\n>>> import RestResponse\n>>> import requests\n>>> data = RestResponse.parse({\n... 'binary': requests.get('https://cataas.com/cat').content\n... })\n>>> data.binary\n'\\xff\\xd8\\xff\\xdb\\x00C\\x00\\x06\\x04\\x05\\x06\\x05\\x04\\x06\\x06\\x05\\x06\\x07\\x07\\x06\\x08\\n\\x10\\n\\n\\t\\t\\n\\x14\\x0e\\x0f\\x0c\\x10\\x17\\x14\\x18\\x18\\x17\\x14\\x16\\x16\\x1a\\x1d%\\x1f\\x1a\\x1b#\\x1c\\x16\\x16 , #&\\')*)\\x19\\x1f-0-(0%()(\\xff\\xdb\\x00C\\x01\\x07\\x07\\x07\\n\\x08\\n\\x13\\n\\n\\x13(\\x1a\\x16\\x1a((((((((((((((((((((((((((((((((((((((((((((((((((\\xff\\xc2\\x00\\x11\\x08\\x00\\x01\\x00\\x01\\x03\\x01\"\\x00\\x02\\x11\\x01\\x03\\x11\\x01\\xff\\xc4\\x00\\x15\\x00\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\xff\\xc4\\x00\\x14\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\xff\\xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x10\\x03\\x10\\x00\\x00\\x01\\x90\\x07\\xff\\xc4\\x00\\x14\\x10\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x01\\x00\\x01\\x05\\x02\\x7f\\xff\\xc4\\x00\\x14\\x11\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x03\\x01\\x01?\\x01\\x7f\\xff\\xc4\\x00\\x14\\x11\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x02\\x01\\x01?\\x01\\x7f\\xff\\xc4\\x00\\x14\\x10\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x01\\x00\\x06?\\x02\\x7f\\xff\\xc4\\x00\\x14\\x10\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x01\\x00\\x01?!\\x7f\\xff\\xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x00\\x03\\x00\\x00\\x00\\x10\\xfb\\xff\\xc4\\x00\\x14\\x11\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x03\\x01\\x01?\\x10\\x7f\\xff\\xc4\\x00\\x14\\x11\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x02\\x01\\x01?\\x10\\x7f\\xff\\xc4\\x00\\x14\\x10\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x01\\x00\\x01?\\x10\\x7f\\xff\\xd9'\n>>> pretty_str = data.pretty_print()\n>>> print pretty_str\n{\n \"binary\": \"__binary__: /9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wgARCAABAAEDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAT/xAAUAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAGQB//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQ+//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z\"\n}\n>>> data = RestResponse.loads(pretty_str)\n>>> data.binary\n'\\xff\\xd8\\xff\\xdb\\x00C\\x00\\x06\\x04\\x05\\x06\\x05\\x04\\x06\\x06\\x05\\x06\\x07\\x07\\x06\\x08\\n\\x10\\n\\n\\t\\t\\n\\x14\\x0e\\x0f\\x0c\\x10\\x17\\x14\\x18\\x18\\x17\\x14\\x16\\x16\\x1a\\x1d%\\x1f\\x1a\\x1b#\\x1c\\x16\\x16 , #&\\')*)\\x19\\x1f-0-(0%()(\\xff\\xdb\\x00C\\x01\\x07\\x07\\x07\\n\\x08\\n\\x13\\n\\n\\x13(\\x1a\\x16\\x1a((((((((((((((((((((((((((((((((((((((((((((((((((\\xff\\xc2\\x00\\x11\\x08\\x00\\x01\\x00\\x01\\x03\\x01\"\\x00\\x02\\x11\\x01\\x03\\x11\\x01\\xff\\xc4\\x00\\x15\\x00\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\xff\\xc4\\x00\\x14\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\xff\\xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x10\\x03\\x10\\x00\\x00\\x01\\x90\\x07\\xff\\xc4\\x00\\x14\\x10\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x01\\x00\\x01\\x05\\x02\\x7f\\xff\\xc4\\x00\\x14\\x11\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x03\\x01\\x01?\\x01\\x7f\\xff\\xc4\\x00\\x14\\x11\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x02\\x01\\x01?\\x01\\x7f\\xff\\xc4\\x00\\x14\\x10\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x01\\x00\\x06?\\x02\\x7f\\xff\\xc4\\x00\\x14\\x10\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x01\\x00\\x01?!\\x7f\\xff\\xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x00\\x03\\x00\\x00\\x00\\x10\\xfb\\xff\\xc4\\x00\\x14\\x11\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x03\\x01\\x01?\\x10\\x7f\\xff\\xc4\\x00\\x14\\x11\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x02\\x01\\x01?\\x10\\x7f\\xff\\xc4\\x00\\x14\\x10\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xff\\xda\\x00\\x08\\x01\\x01\\x00\\x01?\\x10\\x7f\\xff\\xd9'\n```\n### NoneProp\nIt should be noted that missing referenced properties, including nested, are gracefully falsey.\n\n```python\n>>> import RestResponse\n>>> data = RestResponse.parse({})\n>>> data.property.is_none\nNone\n>>> bool(data.property.is_none)\nFalse\n>>> isinstance(data.property.is_none, RestResponse.NoneProp)\nTrue\n>>> 'some data' in data.property.is_none\nFalse\n>>> [x for x in data.property.is_none]\n[]\n>>> data.property.is_none = None\n>>> isinstance(data.property.is_none, RestResponse.NoneProp)\nFalse\n>>> print data.pretty_print()\n{\n \"property\": {\n \"is_none\": null\n }\n}\n```\n### SQLAlchemy ORM\nRestResponse uses a Mutable mixin provided by SQLAlchemy for interfacing with databases. The following (Flask) snippet should get you started:\n```python\nfrom flask import Flask\nfrom flask_sqlalchemy import SQLAlchemy\nfrom RestResponse.orm.sqlalchemy import RESTResponse\n\n\napp = Flask(__name__)\ndb = SQLAlchemy(app)\n\n\nclass SomeModel(db.Model):\n id = db.Column(db.Integer(), primary_key=True)\n data = db.Column(RESTResponse(), nullable=False)\n\n def __init__(self, data):\n self.data = data # data should be json serializable\n```\nData will be saved to the database as a serialized json blob. When data is loaded it will be coerced to the underlying RestResponseObj\n\n## ApiModel\n\nInherit RestResponse.ApiModel to facilitate typing out API models. Please note your properties should NOT start with `_`. `ApiModel._data` setter ensures that passed in data conforms to your properties, effectively filtering out underscored properties identified via `dir()`. This behavior can be overriden by adding properties to `__opts__['_overrides']` (**Note**: `__opts__` must be updated before setting `_data`).\n\nFor convenience ApiModel includes helper methods for property integrity. These include:\n\n 1. `_set_int`, `_get_int`\n 2. `_set_string`, `_get_string`\n 3. `_set_date`, `_get_date`\n 4. `_set_datetime`, `_get_datetime`\n 5. `_set_float`, `_get_float`\n 6. `_set_bool`, `_get_bool`\n\nYou can initalize ApiCollection with one of these helpers (or define your own), or another object such as `Reference` below.\n\n\nConsider the following snippet:\n```python\nfrom RestResponse import ApiModel, ApiCollection\n\n\nclass Model(ApiModel):\n def __init__(self, data):\n self.__opts__['_overrides'] = ['_bar']\n self._data = data\n\n # this _foo property will be ignored on init\n @property\n def _foo(self):\n return self._get_string(self._data._foo)\n\n @_foo.setter\n def _foo(self, _foo):\n self._data._foo = self._set_string(_foo)\n\n @property\n def _bar(self):\n return self._get_string(self._data._bar)\n\n @_bar.setter\n def _bar(self, _bar):\n self._data._bar = self._set_string(_bar)\n\n @property\n def id(self):\n return self._get_int(self._data.id)\n\n @id.setter\n def id(self, id):\n self._data.id = self._set_int(id)\n\n @property\n def reference(self):\n if not self._data.reference:\n self._data.reference = Reference()\n return Reference(self._data.reference)\n\n @reference.setter\n def reference(self, reference):\n self._data.reference = Reference(reference)\n\n @property\n def int_collection(self):\n if not self._data.int_collection:\n self._data.int_collection = ApiCollection(self._set_int)\n return self._data.int_collection\n\n @int_collection.setter\n def int_collection(self, int_collection):\n self._data.int_collection = ApiCollection(self._set_int)\n self._data.int_collection.extend(int_collection)\n\n @property\n def ref_collection(self):\n if not self._data.ref_collection:\n self._data.ref_collection = ApiCollection(Reference)\n return self._data.ref_collection\n\n @ref_collection.setter\n def ref_collection(self, ref_collection):\n self._data.ref_collection = ApiCollection(Reference)\n self._data.ref_collection.extend(ref_collection)\n\n\nclass Reference(ApiModel):\n def __init__(self, data):\n self._data = data\n\n @property\n def id(self):\n return self._get_int(self._data.id)\n\n @id.setter\n def id(self, id):\n self._data.id = self._set_int(id)\n```\nThen initialize with RestObject, dict, ApiModel, or serialized JSON\n```python\n>>> model = Model({\n 'id': 5,\n 'ref': {\n 'id': 5,\n 'foo': 'bar'\n },\n 'int_collection': [1, 2, 3],\n 'ref_collection': [\n {\n 'id': 1,\n },\n {\n 'id': 2,\n }\n ],\n 'foo': 'bar',\n '_foo': '_bar',\n '_bar': 'foo'\n})\n>>> print model._data.pretty_print()\n{\n \"int_collection\": [\n 1,\n 2,\n 3\n ],\n \"ref\": {\n \"id\": 5\n },\n \"ref_collection\": [\n {\n \"id\": 1\n },\n {\n \"id\": 2\n }\n ],\n \"id\": 5,\n \"_bar\": \"foo\"\n}\n>>> assert '_foo' not in model._data\n>>> assert '_bar' in model._data\n>>> assert 'foo' not in model._data\n>>> assert 'foo' not in model.ref._data\n>>> type(model._data)\n\n```\nNote: ApiModel will NOT decode/encode binary/callable types by default. You'll need to turn this behavior on by overriding `ApiModel.__opts__`:\n```python\nModel.__opts__ = {\n 'encode_binary': True,\n 'encode_callable': True,\n 'decode_binary': True,\n 'decode_callable': True\n}\n```\n\n## Testing\n\n $ pytest -s tests/tests.py\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/tysonholub/RestResponse.git. This project is\nintended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the\n[Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n\n## License\n\nThis package is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).", "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/tysonholub/RestResponse.git", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "RestResponse", "package_url": "https://pypi.org/project/RestResponse/", "platform": "", "project_url": "https://pypi.org/project/RestResponse/", "project_urls": { "Homepage": "https://github.com/tysonholub/RestResponse.git" }, "release_url": "https://pypi.org/project/RestResponse/2.2.4/", "requires_dist": null, "requires_python": "", "summary": "A fluent python object for interfacing with RESTful JSON APIs.", "version": "2.2.4" }, "last_serial": 5991994, "releases": { "0.3.1": [ { "comment_text": "", "digests": { "md5": "b28af4962b968bfbe199b635b7b9b7b3", "sha256": "1df7d6f49f61610bab91c51a017b3a765679098fbb8d29d9e021547cfaefb292" }, "downloads": -1, "filename": "RestResponse-0.3.1.tar.gz", "has_sig": false, "md5_digest": "b28af4962b968bfbe199b635b7b9b7b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3620, "upload_time": "2018-01-17T20:36:58", "url": "https://files.pythonhosted.org/packages/b4/a1/c98b512df538992ef103e84c869965ce4fa74d318cb534e83864d44c5d32/RestResponse-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "03635cbf8262e201a999c210c074cbe7", "sha256": "e214bf4706d56c6cd96dab57b75559057d22da7f0700635d7941d6d4b2bc27d3" }, "downloads": -1, "filename": "RestResponse-0.3.2.tar.gz", "has_sig": false, "md5_digest": "03635cbf8262e201a999c210c074cbe7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3634, "upload_time": "2018-01-17T21:34:48", "url": "https://files.pythonhosted.org/packages/24/fe/66a7520bfd7dd553f71f52139c31f9dff636966810fe5eb6baf64b0215a1/RestResponse-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "8ed02171cc21f86bb743cf876ea86641", "sha256": "ea205d1b9ecb48e109c75643e0bc359c2cb00556f7012b999c24fa3828b62a9c" }, "downloads": -1, "filename": "RestResponse-0.3.3.tar.gz", "has_sig": false, "md5_digest": "8ed02171cc21f86bb743cf876ea86641", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3667, "upload_time": "2018-01-17T22:19:31", "url": "https://files.pythonhosted.org/packages/48/8d/2f27fa55935f89719365efbfd3ff09b5424bf53d61fa79a97ef6a2f16e13/RestResponse-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "e82ede09b93cc35bb0a7f79a8d6398ee", "sha256": "fedcb159de9db6f5d36436b6d669e7d3f5998ecc84ad135a318a43e4a5d201c5" }, "downloads": -1, "filename": "RestResponse-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e82ede09b93cc35bb0a7f79a8d6398ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4612, "upload_time": "2018-01-25T19:11:10", "url": "https://files.pythonhosted.org/packages/44/25/32073430e52a661a319b61324aa25583cc2a25c9e8ef9b474283fda17e12/RestResponse-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "1d5af707f94e0ffd796eb4631ae4ad5b", "sha256": "a54364645f3194c7269945c1339df2da88eb254b3e9eb91210155c4c3ae0c59f" }, "downloads": -1, "filename": "RestResponse-0.4.1.tar.gz", "has_sig": false, "md5_digest": "1d5af707f94e0ffd796eb4631ae4ad5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4645, "upload_time": "2018-02-06T16:22:53", "url": "https://files.pythonhosted.org/packages/68/f6/349f2e8e2bc336b3b6149f45db1d95633128da9f9b7e12bbb4a43b81567f/RestResponse-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "81250c1e61eb4cb3c6a310099ea68666", "sha256": "aa0596307fe614f8663205dd45a16a7da4098d3cccfb160596ac2ae9e3539fbf" }, "downloads": -1, "filename": "RestResponse-0.4.2.tar.gz", "has_sig": false, "md5_digest": "81250c1e61eb4cb3c6a310099ea68666", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4648, "upload_time": "2018-02-14T17:38:58", "url": "https://files.pythonhosted.org/packages/9b/4e/e81447e5edbe2241c40568c40dd0e38fc1021d522f312f2099c15aac13a3/RestResponse-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "92249f5bb933eba5aa363e750d1ea902", "sha256": "523387be26867b795c88c79b8d79fe77c1de930dd5a3ac1d2f0626db07a894f1" }, "downloads": -1, "filename": "RestResponse-0.4.3.tar.gz", "has_sig": false, "md5_digest": "92249f5bb933eba5aa363e750d1ea902", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4662, "upload_time": "2018-02-14T19:14:28", "url": "https://files.pythonhosted.org/packages/e1/cd/3ce43275712a3045664457123ae0e8d358af3cf6b3f54d7a32271ce99890/RestResponse-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "af3d54c5f682986242885f8362ae7645", "sha256": "730390869bd8bf1a41ed1afa5ded27d72c6612a6e81d9e02dcbc1760b593807f" }, "downloads": -1, "filename": "RestResponse-0.4.4.tar.gz", "has_sig": false, "md5_digest": "af3d54c5f682986242885f8362ae7645", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4692, "upload_time": "2018-02-14T19:42:43", "url": "https://files.pythonhosted.org/packages/15/41/e2f386ea749c2d8f8021918dcdc4adc9538c8cd17344afb16a37f4f4d9a0/RestResponse-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "9d5df090f5df2d5c2578a0326492d0e6", "sha256": "5ed1cb95f54c221344f7ad4a004cb10ee31da01c16d22649d90d44070b270bff" }, "downloads": -1, "filename": "RestResponse-0.4.5.tar.gz", "has_sig": false, "md5_digest": "9d5df090f5df2d5c2578a0326492d0e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5319, "upload_time": "2018-05-15T18:55:21", "url": "https://files.pythonhosted.org/packages/b8/df/ed3b456bdf7c8f00871aada06313adb3969a80309c7a7052d2202510be52/RestResponse-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "a4da87135e58e67f111887d83ac48d41", "sha256": "31b444d68c4a07715382430743693fdbcfd7cdc06a9f0bed35c9396f20eedb80" }, "downloads": -1, "filename": "RestResponse-0.4.6.tar.gz", "has_sig": false, "md5_digest": "a4da87135e58e67f111887d83ac48d41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5336, "upload_time": "2018-05-17T17:48:05", "url": "https://files.pythonhosted.org/packages/6a/3f/d029ca387d8ae675082156c2f3b9727fe4ad7eafb4506fc611f386a0c474/RestResponse-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "655f47a90ce638604c63a25d5724035a", "sha256": "0442b6d96d010ad8e79b70a76343771b6c4247b8e77c87540f9f5d3edfc7ceda" }, "downloads": -1, "filename": "RestResponse-0.4.7.tar.gz", "has_sig": false, "md5_digest": "655f47a90ce638604c63a25d5724035a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5369, "upload_time": "2018-08-24T20:55:41", "url": "https://files.pythonhosted.org/packages/37/e4/a88dbb2aadeb38c4e25a166785354361a53c614b55fd2adaebd375ec2e96/RestResponse-0.4.7.tar.gz" } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "87e780e246904a50df36e5377db7341e", "sha256": "f90cd93ec109c4f3073bd017d648808628bf679313818228b3cdc0aba11699be" }, "downloads": -1, "filename": "RestResponse-0.4.8.tar.gz", "has_sig": false, "md5_digest": "87e780e246904a50df36e5377db7341e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5359, "upload_time": "2018-09-10T14:50:21", "url": "https://files.pythonhosted.org/packages/5b/60/2e21515c3d5dadfb2107d93c0f2dc966cb7332d09707a59822368b2b2bfa/RestResponse-0.4.8.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "5da989ea84c1887791d826807fc0f27b", "sha256": "ff6e770cd83bfb07d7211d7b6eb52c4bde4fcc2120f70ca37447edf2774d4176" }, "downloads": -1, "filename": "RestResponse-0.4.9.tar.gz", "has_sig": false, "md5_digest": "5da989ea84c1887791d826807fc0f27b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5450, "upload_time": "2018-09-26T16:49:33", "url": "https://files.pythonhosted.org/packages/0d/05/685362caa0f29d20eeda98403ea835afd44a6ee3234240b27c0e2070f342/RestResponse-0.4.9.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "27a75c5ed33a6bb0f61187b29cfb86ce", "sha256": "94c8f11db454d3fd27a371b5d3c0a3e1fe531421043a696bc1fc95b320f1e5a4" }, "downloads": -1, "filename": "RestResponse-0.5.0.tar.gz", "has_sig": false, "md5_digest": "27a75c5ed33a6bb0f61187b29cfb86ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5828, "upload_time": "2018-09-27T14:48:57", "url": "https://files.pythonhosted.org/packages/53/98/2edf64fceaff919c4ac529699f52e4430e104ec45ccf94f0d2891b5b43f7/RestResponse-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "e12cdbe63df031be16db833c6ce87bd4", "sha256": "fd7cf680dcf52db54e845ed062c4b2e0f031cd953f584b67938d97b4df73c733" }, "downloads": -1, "filename": "RestResponse-0.5.1.tar.gz", "has_sig": false, "md5_digest": "e12cdbe63df031be16db833c6ce87bd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5811, "upload_time": "2018-11-09T17:56:47", "url": "https://files.pythonhosted.org/packages/74/1f/980538988282d465bc69675f5ce1af303aae4cb3d07e10cf0a3e9df8bce9/RestResponse-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "3ac9afbdcd8b57b0e545478eaa3ef54b", "sha256": "eef2e63751aa1b06851fc05e377bc8a00310dbae3883a8a585f0e3b6ca755b39" }, "downloads": -1, "filename": "RestResponse-0.5.2.tar.gz", "has_sig": false, "md5_digest": "3ac9afbdcd8b57b0e545478eaa3ef54b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5811, "upload_time": "2018-11-26T17:38:45", "url": "https://files.pythonhosted.org/packages/42/87/514562691da6cfee3f98b6b7bd05db07e772b690ac9b4718d6b192cce446/RestResponse-0.5.2.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "ce6fd4c0f13c20433bc4949b6ff11fa7", "sha256": "982ee3e61b53d116ac659d434c423dd35ae44181470a6bac773de491b00bee1b" }, "downloads": -1, "filename": "RestResponse-0.6.0.tar.gz", "has_sig": false, "md5_digest": "ce6fd4c0f13c20433bc4949b6ff11fa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8422, "upload_time": "2018-12-12T23:28:21", "url": "https://files.pythonhosted.org/packages/ff/7e/9f4d4ccbcd472cb108dab883a9091c7e08065eecd22696eaed771921deab/RestResponse-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "13b6c7c3fe6e05958c45b408557db996", "sha256": "451d8ebdecbe5734fc3148bfb597406490f2c3843eac0cd86dfeb61b312ac3de" }, "downloads": -1, "filename": "RestResponse-0.6.1.tar.gz", "has_sig": false, "md5_digest": "13b6c7c3fe6e05958c45b408557db996", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8536, "upload_time": "2018-12-13T16:26:53", "url": "https://files.pythonhosted.org/packages/2d/78/cc29e200f32c68035062471d2bbe8bae5bd0ccda962b53afccd81213151c/RestResponse-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "74e34289b5f90ff68d81061fe6e1e786", "sha256": "42735d391edab4a7b71161b5fd2fe06c4aa7b7f16371429a9d19bd6e0ea6cb72" }, "downloads": -1, "filename": "RestResponse-0.6.2.tar.gz", "has_sig": false, "md5_digest": "74e34289b5f90ff68d81061fe6e1e786", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8532, "upload_time": "2018-12-14T14:23:21", "url": "https://files.pythonhosted.org/packages/eb/c3/676e2cc3d88f669555f06f6cd36bc13c61e9e8a61804057a7e619f823ec8/RestResponse-0.6.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "a0781e0786739002aceb611ea7280112", "sha256": "8aa070f2821891f6caecaf93dc7758cf8c6b0e13f3fdcadaf244923bf7c71798" }, "downloads": -1, "filename": "RestResponse-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a0781e0786739002aceb611ea7280112", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8603, "upload_time": "2018-12-14T20:10:41", "url": "https://files.pythonhosted.org/packages/a5/fd/29cbc8a8b39348a3bb58b67cffbd013698f98dd8c2eefbf8b5451c0ac53a/RestResponse-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "5977ec880b8d85432a3500d2a269c417", "sha256": "b9a1bf6d051402d26c03cc59162986745298b388f6087bdfc0bed0e4f00ef99f" }, "downloads": -1, "filename": "RestResponse-1.1.0.tar.gz", "has_sig": false, "md5_digest": "5977ec880b8d85432a3500d2a269c417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8650, "upload_time": "2018-12-18T22:23:57", "url": "https://files.pythonhosted.org/packages/b0/ba/e448b93c1b1264d0b24ec291cd8bbedbdf481aac5ca3f10184ce0e76e685/RestResponse-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "fd3b989043be1ef6c737b876fd436619", "sha256": "1022b543cee03f1374c6abeb7faeeb1d1fbf3963006ab9ebba568707bd252988" }, "downloads": -1, "filename": "RestResponse-1.1.1.tar.gz", "has_sig": false, "md5_digest": "fd3b989043be1ef6c737b876fd436619", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8676, "upload_time": "2018-12-20T16:47:20", "url": "https://files.pythonhosted.org/packages/ba/0b/17566b0106ab4acb030478a3bf143dde3360da672e441d05eef7ae24e747/RestResponse-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "ba98ddeacbfa31958e88aafc414da613", "sha256": "ac84b8a1e74c404ebe31125c5bd2d6fc19094307781cdb993df139bdd5e19a3a" }, "downloads": -1, "filename": "RestResponse-1.1.2.tar.gz", "has_sig": false, "md5_digest": "ba98ddeacbfa31958e88aafc414da613", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8683, "upload_time": "2018-12-20T19:56:20", "url": "https://files.pythonhosted.org/packages/63/b7/0da27f4899e3c93af3b145e200864c8553946f0dcbfa04d97e245b3266db/RestResponse-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "2536535446c336cc5db59029b0c1344c", "sha256": "abfe998685f056b0a75fb730eb81fdcdbbad806ae71bed54eebb2c4f544542ee" }, "downloads": -1, "filename": "RestResponse-1.1.3.tar.gz", "has_sig": false, "md5_digest": "2536535446c336cc5db59029b0c1344c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9085, "upload_time": "2019-01-04T21:35:56", "url": "https://files.pythonhosted.org/packages/bc/e8/90e9cb3591814444d4fe14f6454f748ba63df97162b55a74b2e169faaa4a/RestResponse-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "988ae00723df08d7dd4b8da82d14860a", "sha256": "4a846a6c15beb9695e783e90dbbe720ef92fd2c4126ca5b31a3be2657415ff62" }, "downloads": -1, "filename": "RestResponse-1.1.4.tar.gz", "has_sig": false, "md5_digest": "988ae00723df08d7dd4b8da82d14860a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9232, "upload_time": "2019-01-06T15:19:51", "url": "https://files.pythonhosted.org/packages/3d/d1/c2b97b15a3f49c0419528db7a89a669514a4a66d06c4083e37c98a9ad863/RestResponse-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "68905646c9ae98713070fb94a23eed98", "sha256": "4a5070fd0fbae2c227cd3eeb6e1e1dc82ce2e9dc6ce6d3c62d549459a5a98006" }, "downloads": -1, "filename": "RestResponse-1.1.5.tar.gz", "has_sig": false, "md5_digest": "68905646c9ae98713070fb94a23eed98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9246, "upload_time": "2019-01-07T20:22:57", "url": "https://files.pythonhosted.org/packages/cf/e7/e2a346989991f5c1f55ce04a548213996fa9d3be0664ac730e816bc52d41/RestResponse-1.1.5.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "e9e45957a87bacfde8d33bf5584667eb", "sha256": "ce50ec4e8633565a0bc3e7f35343fe7d10a06afe05bf548771e60b200ab0e7a9" }, "downloads": -1, "filename": "RestResponse-2.0.0.tar.gz", "has_sig": false, "md5_digest": "e9e45957a87bacfde8d33bf5584667eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8732, "upload_time": "2019-03-11T18:14:21", "url": "https://files.pythonhosted.org/packages/2a/83/a700263b2f7dcd6a44b4866b6ab201fdf942758d4153a03ee7feda008191/RestResponse-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "e28ccf84fed363396b8c9bc42f04ac64", "sha256": "4c2dedd41140026184123e53f2b0d6746fc1de0a6992e5268063ee034af87ed0" }, "downloads": -1, "filename": "RestResponse-2.0.1.tar.gz", "has_sig": false, "md5_digest": "e28ccf84fed363396b8c9bc42f04ac64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8758, "upload_time": "2019-03-13T20:04:25", "url": "https://files.pythonhosted.org/packages/2d/63/6dd66ea0c275a078417c36ea3baa18ff761f4b66b49828e3b550c5a085b8/RestResponse-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "b58db6281f5041508b11f6c9acf5d943", "sha256": "d5c12aa96644937f22e2f2e230b994bee4936a54fb7582681e7374de69770af6" }, "downloads": -1, "filename": "RestResponse-2.0.2.tar.gz", "has_sig": false, "md5_digest": "b58db6281f5041508b11f6c9acf5d943", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8778, "upload_time": "2019-03-14T20:15:07", "url": "https://files.pythonhosted.org/packages/ad/23/16903c1a3e121b8deeff44bb95c810c9f84e62489b89d0b3aa56227fb98f/RestResponse-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "642538cae0db0a037705947a6f4d5b91", "sha256": "0dd522f2687c73b4420c10b8fdc046619ff26f3967579128208cc39a18635c47" }, "downloads": -1, "filename": "RestResponse-2.0.3.tar.gz", "has_sig": false, "md5_digest": "642538cae0db0a037705947a6f4d5b91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8766, "upload_time": "2019-03-19T15:13:21", "url": "https://files.pythonhosted.org/packages/bf/97/7cded5aac8bc6a5ee3b80a244e60d666bd3a624e79c9326478e66690a59c/RestResponse-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "355e6ded80200b32c622efafd179edfc", "sha256": "88329dbcd9608720b8142d836c9e5e16929754b1e8b33fbb4aca0edf1f221194" }, "downloads": -1, "filename": "RestResponse-2.0.4.tar.gz", "has_sig": false, "md5_digest": "355e6ded80200b32c622efafd179edfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8778, "upload_time": "2019-03-19T21:15:32", "url": "https://files.pythonhosted.org/packages/6d/f4/14eb108021934d58ca4e480265e9f9dd73ed6cb40ff932645d016fe052c8/RestResponse-2.0.4.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "900ad075c404901e4217717551ee515b", "sha256": "30ce4d1920361f31fb20a030036468b846138d1df9a61c43e2697080be04d441" }, "downloads": -1, "filename": "RestResponse-2.1.0.tar.gz", "has_sig": false, "md5_digest": "900ad075c404901e4217717551ee515b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9896, "upload_time": "2019-04-24T19:05:16", "url": "https://files.pythonhosted.org/packages/4f/3f/f94b1456583c51febfadccaae8d756f7e0c37b6ff59bb012d067a74ccd31/RestResponse-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "f37cf876e0dc778783e00611cdf0ee04", "sha256": "be6aa2bb9ede5730a7644ca933de1860811631cd943db2aca809dcd457d1cd0a" }, "downloads": -1, "filename": "RestResponse-2.1.1.tar.gz", "has_sig": false, "md5_digest": "f37cf876e0dc778783e00611cdf0ee04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10547, "upload_time": "2019-04-26T17:35:31", "url": "https://files.pythonhosted.org/packages/17/4e/d98795b11f5da54d5156bdb5372f50245619ff48f478935c391ac1fc25d5/RestResponse-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "164510876c7cd600756a0a1889f88f14", "sha256": "f6bc817741eb5506c6c3ca375138f7b789e23198e99f31585e4312f2f9925496" }, "downloads": -1, "filename": "RestResponse-2.1.2.tar.gz", "has_sig": false, "md5_digest": "164510876c7cd600756a0a1889f88f14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10552, "upload_time": "2019-04-26T19:13:33", "url": "https://files.pythonhosted.org/packages/04/72/e1d3fbfdbfbd3be9f0a51d3258fa7cd33c8373b3065fa02fe9bfb48eb69c/RestResponse-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "02fb01c7f1c93e518df6b7642270ec75", "sha256": "b8118ffc0e4b969fde18b762b6df14371ad5eac14bd009a0064fa516efbc3845" }, "downloads": -1, "filename": "RestResponse-2.1.3.tar.gz", "has_sig": false, "md5_digest": "02fb01c7f1c93e518df6b7642270ec75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10618, "upload_time": "2019-04-30T19:14:57", "url": "https://files.pythonhosted.org/packages/6a/37/0931eb1176a922996981e58ce4795409c4a9fb3ef49b6447a6b9815d820f/RestResponse-2.1.3.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "3a6dc37fa25327cf40cc32159d93bef4", "sha256": "0cb8c7a553de2904762e12ec20a853e4ed3d20a6fe5bf9036e7c99f2eb78f2c9" }, "downloads": -1, "filename": "RestResponse-2.1.4.tar.gz", "has_sig": false, "md5_digest": "3a6dc37fa25327cf40cc32159d93bef4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10635, "upload_time": "2019-06-28T15:30:08", "url": "https://files.pythonhosted.org/packages/fa/99/9c40d1541a3665bcdf3c92d80476044632186e3bbec4c568f1a75d6bab59/RestResponse-2.1.4.tar.gz" } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "e5813324020f482e42da669845424c59", "sha256": "8815bb85cc63a1592d6a2de89755baea9dc7bbbbf2e5beed38d0ec049a63f903" }, "downloads": -1, "filename": "RestResponse-2.1.5.tar.gz", "has_sig": false, "md5_digest": "e5813324020f482e42da669845424c59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10637, "upload_time": "2019-07-19T19:58:41", "url": "https://files.pythonhosted.org/packages/fe/0e/3a117d8660bed5286db6b6eb91e44bc3247983ac410562c744d5bafc4757/RestResponse-2.1.5.tar.gz" } ], "2.1.6": [ { "comment_text": "", "digests": { "md5": "30a5eb0b778b3b63160c3647d592be11", "sha256": "1317577ea48e2dcd239a70b4ccaf7ce742f83ffd55c796389687d7bb51ea34e5" }, "downloads": -1, "filename": "RestResponse-2.1.6.tar.gz", "has_sig": false, "md5_digest": "30a5eb0b778b3b63160c3647d592be11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10679, "upload_time": "2019-07-22T18:03:10", "url": "https://files.pythonhosted.org/packages/7e/5a/8d057ffc7f802219279e00ccae62e4f7241f1e78e05a369bb68b088647b3/RestResponse-2.1.6.tar.gz" } ], "2.1.7": [ { "comment_text": "", "digests": { "md5": "6e9fd32272ebac6831cc05b7cc5a67f8", "sha256": "3de46a5c24efefa6cfa31bc89643e8b6eae1e07d940d0c6915edf6037dd7dd9f" }, "downloads": -1, "filename": "RestResponse-2.1.7.tar.gz", "has_sig": false, "md5_digest": "6e9fd32272ebac6831cc05b7cc5a67f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10854, "upload_time": "2019-08-09T18:24:41", "url": "https://files.pythonhosted.org/packages/a3/59/309d4290c900feaa60cff2cb6260f661ca01e3932b9f49f29622d2447ca3/RestResponse-2.1.7.tar.gz" } ], "2.1.8": [ { "comment_text": "", "digests": { "md5": "1e9f0291450ebcf50a23a9b09f86a294", "sha256": "d5676d65dd66a2d7c05a27c7815e9d95472f64979c9942947a9c7c046f9c9810" }, "downloads": -1, "filename": "RestResponse-2.1.8.tar.gz", "has_sig": false, "md5_digest": "1e9f0291450ebcf50a23a9b09f86a294", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11195, "upload_time": "2019-08-19T19:00:21", "url": "https://files.pythonhosted.org/packages/2d/32/5d5bec983aa1935f065d5f538c5771a1b7c98859bd0aed57c18928f9cb73/RestResponse-2.1.8.tar.gz" } ], "2.1.9": [ { "comment_text": "", "digests": { "md5": "88017917551387bea92785cee129a9e3", "sha256": "078b55b6916276661ddfc3966628a5b14d3d5a1a28fc8dcc42a972bb5bf19c99" }, "downloads": -1, "filename": "RestResponse-2.1.9.tar.gz", "has_sig": false, "md5_digest": "88017917551387bea92785cee129a9e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11196, "upload_time": "2019-08-19T19:16:07", "url": "https://files.pythonhosted.org/packages/e9/d6/d871bf61379a031ab07aa3e381ad29463e1a2d2a8d51aa5f40b4987934d2/RestResponse-2.1.9.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "c2ceedeca6a6ce58d0ffe9ac656da64b", "sha256": "d31847270f2456b27269b0fd6e939b90a50c9eb4d0fe03edfe32a4fed012d9de" }, "downloads": -1, "filename": "RestResponse-2.2.0.tar.gz", "has_sig": false, "md5_digest": "c2ceedeca6a6ce58d0ffe9ac656da64b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15504, "upload_time": "2019-08-19T20:39:17", "url": "https://files.pythonhosted.org/packages/0e/52/b7937d395b3bef9c6d7dfda51101f9a19a892b8970f8b403974a40ddd505/RestResponse-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "5ebf48790fa7e8fd8a498465d18ca630", "sha256": "ec7c830e48e6cabec2130e30cfa923251a406b0b8760c479bc3868802b1e1bb8" }, "downloads": -1, "filename": "RestResponse-2.2.1.tar.gz", "has_sig": false, "md5_digest": "5ebf48790fa7e8fd8a498465d18ca630", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11500, "upload_time": "2019-08-20T15:57:35", "url": "https://files.pythonhosted.org/packages/a9/d3/e4af011a2cac77cedb856944cc928599d14280b7e28c7650acab368a0c12/RestResponse-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "2c981961b95675f1b76c2f5487b24d38", "sha256": "7a4495daaf8819cedd22ad36425022e04ae49d31a37e1b3ebab4d01811c1cb03" }, "downloads": -1, "filename": "RestResponse-2.2.2.tar.gz", "has_sig": false, "md5_digest": "2c981961b95675f1b76c2f5487b24d38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11507, "upload_time": "2019-08-23T19:49:37", "url": "https://files.pythonhosted.org/packages/50/c7/88d66d5809dd2ce4afaaecad8c64de5202de79ab3c488a76972940a87471/RestResponse-2.2.2.tar.gz" } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "1caa4f1effd68106cf733f723207d15d", "sha256": "a54bdb004f1dabf38b9d7f291dd3324bd6088fa6e3e3bfd5e69fb0d06b12cf31" }, "downloads": -1, "filename": "RestResponse-2.2.3.tar.gz", "has_sig": false, "md5_digest": "1caa4f1effd68106cf733f723207d15d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15609, "upload_time": "2019-08-26T15:28:12", "url": "https://files.pythonhosted.org/packages/bd/c0/8dfac5269bef5e8e6145015a02415670f8e5fb3e898bf274f1fa9fd78c6c/RestResponse-2.2.3.tar.gz" } ], "2.2.4": [ { "comment_text": "", "digests": { "md5": "6feacf0d041481d01369617ebc58a6f5", "sha256": "111cf0bfdadcf1b5a3604ba7fdc5daad5365583caf7715a4e6fe2cad9c440698" }, "downloads": -1, "filename": "RestResponse-2.2.4.tar.gz", "has_sig": false, "md5_digest": "6feacf0d041481d01369617ebc58a6f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11547, "upload_time": "2019-10-17T19:42:22", "url": "https://files.pythonhosted.org/packages/a3/4a/f892e170b0315e910b49aae05a71b04480e361e5eafdd8a40d6cbbdaa1ba/RestResponse-2.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6feacf0d041481d01369617ebc58a6f5", "sha256": "111cf0bfdadcf1b5a3604ba7fdc5daad5365583caf7715a4e6fe2cad9c440698" }, "downloads": -1, "filename": "RestResponse-2.2.4.tar.gz", "has_sig": false, "md5_digest": "6feacf0d041481d01369617ebc58a6f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11547, "upload_time": "2019-10-17T19:42:22", "url": "https://files.pythonhosted.org/packages/a3/4a/f892e170b0315e910b49aae05a71b04480e361e5eafdd8a40d6cbbdaa1ba/RestResponse-2.2.4.tar.gz" } ] }