{ "info": { "author": "Upsight", "author_email": "dev@upsight.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6" ], "description": "doctor\n======\n|docs| |build| |pypi|\n\nThis module uses python types to validate request and response data in\nFlask Python APIs. It uses `python 3 type hints `_\nto validate request paramters and generate API documentation. It also supports\ngeneric schema validation for plain dictionaries. An example of the generated\nAPI documentation can\nbe `found in the docs `_.\n\nInstall\n-------\n\ndoctor can easily be installed using pip:\n\n $ pip install doctor\n \nQuick Start\n-----------\n\nDefine some types that will be used to validate your request parameters.\n\n.. code-block:: python\n\n # mytypes.py\n from doctor import types\n\n # doctor provides helper functions to easily define simple types.\n FooId = types.integer('The foo ID.')\n FetchBars = types.boolean('A flag that indicates if we should fetch bars')\n\n # You can also inherit from type classes to create more complex types.\n class Foo(types.Object):\n description = 'A Foo object'\n example = {'foo_id': 1}\n properties = {'foo_id': FooId}\n required = ['foo_id']\n additional_properties = False\n\nDefine the logic function that our endpoint will route to:\n\n.. code-block:: python\n\n # foo.py\n from mytypes import Foo, FooId, FetchBars\n\n # Note the type annotations on this function definition. This tells Doctor how\n # to parse and validate parameters for routes attached to this logic function.\n # The return type annotation will validate the response conforms to an\n # expected definition in development environments. In non-development\n # environments a warning will be logged.\n def get_foo(foo_id: FooId, fetch_bars: FetchBars=False) -> Foo:\n \"\"\"Fetches the Foo object and optionally related bars.\"\"\"\n return Foo.get_by_id(foo_id, fetch_bars=fetch_bars)\n \nNow tie the endpoint to the logic function with a route:\n\n.. code-block:: python\n\n from flask import Flask\n from flask_restful import Api\n from doctor.routing import create_routes, get, Route\n\n from foo import get_foo\n \n routes = (\n Route('/foo//', methods=(\n get(get_foo),)\n ),\n )\n \n app = Flask(__name__)\n api = Api(app)\n for route, resource in create_routes(routes):\n api.add_resource(resource, route)\n \nThat's it, you now have a functioning API endpoint you can curl and the request is automatically validated for you based on your\nschema. Positional arguments in your logic function are considered required request parameters and keyword arguments are considered\noptional. As a bonus, using the `autoflask `_ sphinx directive, you will also get\nautomatically generated API documentation.\n\n.. image:: example_api_docs.png\n :alt: Generated API documentation\n :align: left\n :target: http://doctor.readthedocs.io/en/latest/docs.html\n \nDocumentation\n-------------\n\nDocumentation and a full example is available at readthedocs_.\n \nRunning Tests\n-------------\n\nTests can be run with tox_. It will handle installing dependencies into a\nvirtualenv, running tests, and rebuilding documentation.\n\nThen run Tox:\n\n.. code-block:: bash\n\n cd doctor\n tox\n\n\nYou can pass arguments to pytest directly:\n\n.. code-block:: bash\n\n tox -- test/test_flask.py\n\n\n.. _readthedocs: http://doctor.readthedocs.io/en/latest/index.html\n.. _tox: https://testrun.org/tox/latest/\n\n.. |docs| image:: https://readthedocs.org/projects/docs/badge/?version=latest\n :alt: Documentation Status\n :scale: 100%\n :target: http://doctor.readthedocs.io/en/latest/index.html\n \n.. |build| image:: https://api.travis-ci.org/upsight/doctor.svg?branch=master\n :alt: Build Status\n :scale: 100%\n :target: https://travis-ci.org/upsight/doctor\n \n.. |pypi| image:: https://img.shields.io/pypi/v/doctor.svg\n :alt: Pypi\n :scale: 100%\n :target: https://pypi.python.org/pypi/doctor/\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/upsight/doctor", "keywords": "python", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "doctor", "package_url": "https://pypi.org/project/doctor/", "platform": "", "project_url": "https://pypi.org/project/doctor/", "project_urls": { "Homepage": "https://github.com/upsight/doctor" }, "release_url": "https://pypi.org/project/doctor/3.13.6/", "requires_dist": null, "requires_python": "", "summary": "This module uses python 3 type hints to validate request and response data in Flask Python APIs and generate API documentation.", "version": "3.13.6" }, "last_serial": 5535855, "releases": { "1.0.0": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "36f7eb718acec735503c28cc6e66d489", "sha256": "612fb8051edde80291d9cf7bf2ff60f0dea315b89e2c171f5d60119a570d22aa" }, "downloads": -1, "filename": "doctor-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "36f7eb718acec735503c28cc6e66d489", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 33813, "upload_time": "2017-02-17T23:49:04", "url": "https://files.pythonhosted.org/packages/d3/d3/d16a70cc6caf2b21b4817b6168eaafdb53d319a5cc08aad19894dfc1d52d/doctor-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8f84fea173fa0da41757e7d92df767b", "sha256": "f3624d42424b312dd01d64ba33048499a5ed8e5e8b1f498d78d4aa047c8968e0" }, "downloads": -1, "filename": "doctor-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d8f84fea173fa0da41757e7d92df767b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39999, "upload_time": "2017-02-17T23:49:06", "url": "https://files.pythonhosted.org/packages/63/23/f3c93c38f176b94dd7f45fc1eec88366c02efd3eb347321a3bdfd0110c49/doctor-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "38cc181b0c9d8789c3a2b5fb01051e30", "sha256": "e9177c45fac9f0b1a6dfe669f658753c663ca63c8d37dfb9e737e861ec322aa3" }, "downloads": -1, "filename": "doctor-1.1.0-py2.7.egg", "has_sig": false, "md5_digest": "38cc181b0c9d8789c3a2b5fb01051e30", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 70529, "upload_time": "2017-02-20T21:03:13", "url": "https://files.pythonhosted.org/packages/94/85/fca954b5143cf253dbac51434f850272b8e3ffa36d0e26e6ac2c385d9e25/doctor-1.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "4fa85d3c1e52cc6e156efc1c6aaa66a3", "sha256": "f326a13b56caea8fb91480a9c0771ee2922dcb886fcefe934664312e9a2493ee" }, "downloads": -1, "filename": "doctor-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4fa85d3c1e52cc6e156efc1c6aaa66a3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 33864, "upload_time": "2017-02-20T21:03:10", "url": "https://files.pythonhosted.org/packages/9d/e4/16e09633c48c1c7c653e40c65c9162a915878d60494c17c09c669d5157cd/doctor-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e8fe74d98cb55168b8cf745617d09fe", "sha256": "401409ba0c428f7c15a97d53c722faf6ae8253752ef1928002a1ae2ddf5571e9" }, "downloads": -1, "filename": "doctor-1.1.0.tar.gz", "has_sig": false, "md5_digest": "9e8fe74d98cb55168b8cf745617d09fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40208, "upload_time": "2017-02-20T21:03:16", "url": "https://files.pythonhosted.org/packages/96/84/49ea647b78198fe91a234ba737327341222075d6e248a5489c4c1bd5ec48/doctor-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "6b13af56e7a99ed3851618da76226f39", "sha256": "b9492b14ea5b5384ed8279995e4c0c5c7521267672aee4ad5d83c3b04d6c5114" }, "downloads": -1, "filename": "doctor-1.1.1-py2.7.egg", "has_sig": false, "md5_digest": "6b13af56e7a99ed3851618da76226f39", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 70639, "upload_time": "2017-02-27T20:55:53", "url": "https://files.pythonhosted.org/packages/1f/65/fde45fb8a884355abc419a88e6a6d30cb68553b72a90d8561ed90c022a4e/doctor-1.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "60865a506dda3f8dac55f9b2d1505ec9", "sha256": "832eb9b950185f634829fb0161b369ee60bcece2a2158e5f3f6106801faf4eb0" }, "downloads": -1, "filename": "doctor-1.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "60865a506dda3f8dac55f9b2d1505ec9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 33930, "upload_time": "2017-02-27T20:55:51", "url": "https://files.pythonhosted.org/packages/ab/e2/1f79292b21867c299e6fdd8f109f984d320b38ead30157407084e31bf1ea/doctor-1.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5caabad6cbac93acacea3cd6d54f210", "sha256": "84df4567f1bd4317b3b2464afbf9014bf763a7f29caae8fd4bb432c996055910" }, "downloads": -1, "filename": "doctor-1.1.1.tar.gz", "has_sig": false, "md5_digest": "d5caabad6cbac93acacea3cd6d54f210", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41088, "upload_time": "2017-02-27T20:55:55", "url": "https://files.pythonhosted.org/packages/bd/4b/caa2e431180efa2e88c9777565040746294b37961aaf72ae251e82b8428d/doctor-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "dd25a377a96df16bd54824c1ac5ca8b9", "sha256": "5cda29b818982519bde614b7a9c22921b0e0aca77000c45e56e82f71d31e4aaa" }, "downloads": -1, "filename": "doctor-1.1.2-py2.7.egg", "has_sig": false, "md5_digest": "dd25a377a96df16bd54824c1ac5ca8b9", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 70666, "upload_time": "2017-03-08T21:50:09", "url": "https://files.pythonhosted.org/packages/d6/b0/7b2b50a89aa91826248afa648175fb754df72968f3261ab98bedf329c413/doctor-1.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "48f79925d78bdf356e5b780dd4a36a26", "sha256": "41e1cf33cee54b20212fddcc1dbf9ed5948871a99a7a83aa1db5363b0cb63fcc" }, "downloads": -1, "filename": "doctor-1.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "48f79925d78bdf356e5b780dd4a36a26", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 33945, "upload_time": "2017-03-08T21:50:07", "url": "https://files.pythonhosted.org/packages/72/76/b4035ba15860ee435bc984110cace91e209455d465fd867a1db0c25c755e/doctor-1.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e0df656827336dd7cd649e902471692", "sha256": "f4cd48dab167151368abf7e14cab6603253faccf09ec3d65faf82ffb40b15e0a" }, "downloads": -1, "filename": "doctor-1.1.2.tar.gz", "has_sig": false, "md5_digest": "2e0df656827336dd7cd649e902471692", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41243, "upload_time": "2017-03-08T21:50:11", "url": "https://files.pythonhosted.org/packages/65/46/b7462f83d602e6ccffbe71ce0429321c6da6af2f1631a728b91859587a28/doctor-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "98cd723935c2d55d6d8c9f34c2ceb969", "sha256": "ff3fb7dd5e54aa2526aed93461552f8a971ff61f82e48d368b60991f1cbc9a76" }, "downloads": -1, "filename": "doctor-1.1.3-py2.7.egg", "has_sig": false, "md5_digest": "98cd723935c2d55d6d8c9f34c2ceb969", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 71012, "upload_time": "2017-04-28T15:41:43", "url": "https://files.pythonhosted.org/packages/ce/f4/06e41790693b0b66eba1c8fb9ffaac7f4428f985734754c6564e808ab36f/doctor-1.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "6275c683348d17b7e8bc6c7a90dac4e2", "sha256": "c01abb89986698b3fc05b8c1a9e73a084cfdfad424897aa248849571c21a527d" }, "downloads": -1, "filename": "doctor-1.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "6275c683348d17b7e8bc6c7a90dac4e2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 34124, "upload_time": "2017-04-28T15:41:40", "url": "https://files.pythonhosted.org/packages/be/61/62c2832a7470ff31f3a0d4ad1b09ed739acb8a65ca1fefc3305edb9050cc/doctor-1.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02b0f38df7c8acb5b344f75891b9197f", "sha256": "d4f7bba78948f43780a6be6cdc58465a2bc57907b89fdc442b9f430b31864c88" }, "downloads": -1, "filename": "doctor-1.1.3.tar.gz", "has_sig": false, "md5_digest": "02b0f38df7c8acb5b344f75891b9197f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41965, "upload_time": "2017-04-28T15:41:45", "url": "https://files.pythonhosted.org/packages/f0/05/2134ab0ab1f807c458c7a74ad5facc7f6f8b5bb6ae89931a4746464a7cc4/doctor-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "205312dc4f40c04c757df5cd0a2b29dd", "sha256": "aa5f2e0ce03526201fe924eb3b46565db0db06d67e7141248d5a5d4f0ee5f37e" }, "downloads": -1, "filename": "doctor-1.1.4-py2.7.egg", "has_sig": false, "md5_digest": "205312dc4f40c04c757df5cd0a2b29dd", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 71720, "upload_time": "2017-05-04T22:44:59", "url": "https://files.pythonhosted.org/packages/b0/7f/6b2a71683e0b50841d86a8e9b0345ad11f09bf7c41d67455d8136feae16c/doctor-1.1.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "23be208df1acc54f6763d007fce9def8", "sha256": "0f2e62524e552c9e14e712a2da4509fdfa639e0836bf72b551d79bbe8c577b0f" }, "downloads": -1, "filename": "doctor-1.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "23be208df1acc54f6763d007fce9def8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 34504, "upload_time": "2017-05-04T22:44:57", "url": "https://files.pythonhosted.org/packages/10/b1/43cbf3240fafffb13b8f668a83f39ec8af8e806b11a13aa43e3f70b542cd/doctor-1.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "551b8ca9129e133cae3bef3c387d992c", "sha256": "332a055d323a4ed926de2ca7312fc6e13c811dfae8cc6558b3862d6ae6d6e191" }, "downloads": -1, "filename": "doctor-1.1.4.tar.gz", "has_sig": false, "md5_digest": "551b8ca9129e133cae3bef3c387d992c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42795, "upload_time": "2017-05-04T22:45:02", "url": "https://files.pythonhosted.org/packages/17/03/f524ea18888bd2494c1ba1e0c95225ab3a061532910f6b80b664763090c6/doctor-1.1.4.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "55d652d34d2b5a2cc5a80743c0d864cd", "sha256": "07834deeb4d3f8198fd881acdd80c05c37e249b523d5e7b038d5ca0d17891d6c" }, "downloads": -1, "filename": "doctor-1.2.0-py2.7.egg", "has_sig": false, "md5_digest": "55d652d34d2b5a2cc5a80743c0d864cd", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 71993, "upload_time": "2017-07-07T21:49:13", "url": "https://files.pythonhosted.org/packages/53/34/fceaf66dbf9ab5668e7fca7a14f8a65ed323c4181e1fd5d9900ded06fec0/doctor-1.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "975ffafd2652c42581ac3fe60f62ce7a", "sha256": "8e0114eb829fa866ffa5ab57f29e8a277ccecf648368296c08acbfcd24119140" }, "downloads": -1, "filename": "doctor-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "975ffafd2652c42581ac3fe60f62ce7a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 34607, "upload_time": "2017-07-07T21:48:49", "url": "https://files.pythonhosted.org/packages/40/2d/67c523a632e31df13745cdf93484744c7a8db2ea5d14a9fa88e379c39a8c/doctor-1.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eca481490183d58a4d1259f0175087aa", "sha256": "a612a62ce471c7fc67cae157f7f56998b9beecd973df5cf8ac977b9e72aa5182" }, "downloads": -1, "filename": "doctor-1.2.0.tar.gz", "has_sig": false, "md5_digest": "eca481490183d58a4d1259f0175087aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42960, "upload_time": "2017-07-07T21:46:33", "url": "https://files.pythonhosted.org/packages/3f/3a/8b4077f241172bc0933219d817816095edd8c98d83056556129ffc31c283/doctor-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "5983216b29d2a8d27cce7082bcc1d7a8", "sha256": "f8ab5d2722058103212a7d07c68c993b2282694d430af5b341b0c86345adb7da" }, "downloads": -1, "filename": "doctor-1.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "5983216b29d2a8d27cce7082bcc1d7a8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 34652, "upload_time": "2017-07-08T06:55:51", "url": "https://files.pythonhosted.org/packages/9d/34/eb0bcf82b93ba7328f6949a2e42130d62d9fd23978be1b21e06cad43f599/doctor-1.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a759062bb226712aa0e6a2754ddcc813", "sha256": "ad7968fd3a6c79021aab9500c721a0c23c20aec31ddb7a085cf50148d8544261" }, "downloads": -1, "filename": "doctor-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a759062bb226712aa0e6a2754ddcc813", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43053, "upload_time": "2017-07-08T06:55:49", "url": "https://files.pythonhosted.org/packages/cb/dc/2bb56c573b1d1c374a33e8f91da606f285ecd2984a5c0c75c100ea1021b0/doctor-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "6d60c2304f24af83273edede4e0339c7", "sha256": "05cb14f3e25c88439343a3d2c911d003ef7ba1f6fc9a10ad0792b921e25e0218" }, "downloads": -1, "filename": "doctor-1.2.2-py2.7.egg", "has_sig": false, "md5_digest": "6d60c2304f24af83273edede4e0339c7", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 72246, "upload_time": "2017-07-10T14:49:18", "url": "https://files.pythonhosted.org/packages/f9/43/5a8da206500b9e4dbead66c68566c0db6c8226be09c5c6ae8cd1cd5e84f4/doctor-1.2.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "36da8649e0259fc48968d29ad6eae251", "sha256": "f464bf08bb4544a3ca16602599ad68a647f635b4ad9742307a56cb9d36384a19" }, "downloads": -1, "filename": "doctor-1.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "36da8649e0259fc48968d29ad6eae251", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 34725, "upload_time": "2017-07-10T14:49:21", "url": "https://files.pythonhosted.org/packages/cb/ec/987b692baedbb5a9d3dbf687e81d864d7587bd68aaafad6285efdf547881/doctor-1.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00040ba09c74f7aa8d610c78e3a6a92f", "sha256": "5006067ff70fbd005b94e5acf657774165415bc641559f4b705ee19b97234734" }, "downloads": -1, "filename": "doctor-1.2.2-py3.6.egg", "has_sig": false, "md5_digest": "00040ba09c74f7aa8d610c78e3a6a92f", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 72627, "upload_time": "2017-07-10T14:49:38", "url": "https://files.pythonhosted.org/packages/1b/b9/8429b6cd96834122b5731bfdb972a4f24e64e3558682bde9464b6c33b6fb/doctor-1.2.2-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "5ee921d3f31b027440a491df9b8f0c1f", "sha256": "edac61fb08b52f9f58ba21bbd94ac52163a18d0f8383ac8ce11a00044794d4d6" }, "downloads": -1, "filename": "doctor-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5ee921d3f31b027440a491df9b8f0c1f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 34718, "upload_time": "2017-07-10T14:49:40", "url": "https://files.pythonhosted.org/packages/5c/d8/a875e9c139ae19a37b5f20697a1ae97eeb20eeb66a4619b54b40176e11b4/doctor-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d305cefdb88a42588cf9689b25757d6", "sha256": "2c224697a86efedb565a1b8752052413b6d7d00467c514db7984cb66822482e8" }, "downloads": -1, "filename": "doctor-1.2.2.tar.gz", "has_sig": false, "md5_digest": "4d305cefdb88a42588cf9689b25757d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43163, "upload_time": "2017-07-10T14:49:16", "url": "https://files.pythonhosted.org/packages/03/9a/69fb82d9471e0ec51fb8c85500e524544f0593e59436ca7e31aedaae46d3/doctor-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "f966692b1ae8a81b0f5532a4940fd8a7", "sha256": "e3d5402b2e1e844bd86ee8afcb35e713c3ba6aad293f126a7a9c2a1442530182" }, "downloads": -1, "filename": "doctor-1.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f966692b1ae8a81b0f5532a4940fd8a7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 35190, "upload_time": "2017-08-11T17:28:03", "url": "https://files.pythonhosted.org/packages/d6/95/ea962d3e95bc28f96cbbebb4dd453e794c3cee26a51cc4470cbdc177de28/doctor-1.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d36be247119329ae0ef2759b0c6e69ce", "sha256": "6514f4e2dfd09a024eae6c453771f8cd41dd2e6e1ce60c413b8ce8e41c51c5f1" }, "downloads": -1, "filename": "doctor-1.3.0.tar.gz", "has_sig": false, "md5_digest": "d36be247119329ae0ef2759b0c6e69ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43612, "upload_time": "2017-08-11T17:26:39", "url": "https://files.pythonhosted.org/packages/3b/33/c63496d9b57b7253ce09a624b2adb052251b3f556cbcc3a55b0662e07c4f/doctor-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "7640e20db46bdc9921cbe3c5a627afcb", "sha256": "f986a3d400683a79334cf43768c523c9ed141f544d96cc333f6feb00361ad9f7" }, "downloads": -1, "filename": "doctor-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7640e20db46bdc9921cbe3c5a627afcb", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 35321, "upload_time": "2017-08-29T21:43:03", "url": "https://files.pythonhosted.org/packages/05/7f/16bf782c35132cedbd898b6f15cb2eb013a6d2c809b0a3b45491c72576cd/doctor-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d67f17e39cfdefd83737d4fff7f100c8", "sha256": "cd61ccde3852b711dc426c8e528043b275ed740f1e716762de430441327b3e67" }, "downloads": -1, "filename": "doctor-1.3.1.tar.gz", "has_sig": false, "md5_digest": "d67f17e39cfdefd83737d4fff7f100c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43937, "upload_time": "2017-08-29T21:42:37", "url": "https://files.pythonhosted.org/packages/4f/63/8598b08ac9e54b6feab3c5b038ef171dae943eed6400e03500ced493e404/doctor-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "806ffe67afe1b3366fc6b903e47257be", "sha256": "685203ebf9f4d7815f8609943ba436cf6a0593eb0f2ea706b6db01e4dc050e40" }, "downloads": -1, "filename": "doctor-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "806ffe67afe1b3366fc6b903e47257be", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 35326, "upload_time": "2017-09-18T21:03:59", "url": "https://files.pythonhosted.org/packages/46/5e/375a7aa4a835f3f1e1c9b95139777e89eb81353e2e1d0adb89f8269ee3d3/doctor-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fddad9d05c78e94d3a902068edf2553d", "sha256": "648e8e3febc2a4fb3ec325d8a78032984573a9e71dbc4db4d0441b1309cc6b09" }, "downloads": -1, "filename": "doctor-1.3.2.tar.gz", "has_sig": false, "md5_digest": "fddad9d05c78e94d3a902068edf2553d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44120, "upload_time": "2017-09-18T21:03:45", "url": "https://files.pythonhosted.org/packages/37/87/91cbfc4a1a25ab10f7ddc62f2f4546f407a0423610edab80abab809622c5/doctor-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "79c1a6ac605740d11d5a3d04d2bdb400", "sha256": "e4be55b514f0e4de704a97c41600ce4a608465d8b60c4919e3c421003290196f" }, "downloads": -1, "filename": "doctor-1.3.3-py2-none-any.whl", "has_sig": false, "md5_digest": "79c1a6ac605740d11d5a3d04d2bdb400", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 35348, "upload_time": "2017-10-18T19:08:00", "url": "https://files.pythonhosted.org/packages/9b/0f/be9baed1d4fb4e04a94918b3ada2f7d5f17954ca03f89ef15a1ef98d3a75/doctor-1.3.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe8544b5570ddc4f2eeab7b7ae8b0ea4", "sha256": "cd4f3133aa7c888fdb229a9736effa17c8ae4e0dce33c18cfc52a614d092e809" }, "downloads": -1, "filename": "doctor-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fe8544b5570ddc4f2eeab7b7ae8b0ea4", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 35346, "upload_time": "2017-10-18T19:05:36", "url": "https://files.pythonhosted.org/packages/9b/c5/cf7b6261e0b48ebc34e70d029e64a8462f316f15bb988bb4730fea360ec7/doctor-1.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b73ef0c2c545e5cfba7b7d99e45b349a", "sha256": "a85c668ca3c32f09605a11ee8e83191c92c8a308c2d2a3882af00428242a5ae5" }, "downloads": -1, "filename": "doctor-1.3.3.tar.gz", "has_sig": false, "md5_digest": "b73ef0c2c545e5cfba7b7d99e45b349a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44642, "upload_time": "2017-10-18T19:05:34", "url": "https://files.pythonhosted.org/packages/a2/ea/38c669ce253a7136c472d7b59cf5af92011d9d88e1ae35db7752dbab5255/doctor-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "6862b6ea686a0b38bf0813fd830aa36e", "sha256": "5b50c69b47f821b979b3958e330074e135e0a5d3cb68c9ab04d047934e11562d" }, "downloads": -1, "filename": "doctor-1.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "6862b6ea686a0b38bf0813fd830aa36e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 35276, "upload_time": "2017-12-04T18:39:11", "url": "https://files.pythonhosted.org/packages/47/4e/a4ffb667652bce37ec4fc214556fca5ceda81db99b6e80accc1ff0181b14/doctor-1.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4125ef782118b487fbc51a2f6291ab11", "sha256": "70bf8105136e886d9076a4b88f132a9ce436b92d75ac38f7eb905a5c6ebca426" }, "downloads": -1, "filename": "doctor-1.3.4.tar.gz", "has_sig": false, "md5_digest": "4125ef782118b487fbc51a2f6291ab11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44118, "upload_time": "2017-12-04T18:38:50", "url": "https://files.pythonhosted.org/packages/8f/ca/c8ee5770bbf23f7e393674d8ee47b604d5a9b8f8cb34277d4257373cf4b3/doctor-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "23541545564e9eeb0a5fb0cf936a3b54", "sha256": "a098f28ae3163c713588da19dc0db58569ff0562bb3f56b55a27faa5aa88f53e" }, "downloads": -1, "filename": "doctor-1.3.5.tar.gz", "has_sig": false, "md5_digest": "23541545564e9eeb0a5fb0cf936a3b54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44255, "upload_time": "2018-01-23T23:08:15", "url": "https://files.pythonhosted.org/packages/2c/2a/9f03910c8b62b7bafaf56011fe9efb35b58199fa0cc135c92949e418b944/doctor-1.3.5.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "dfa21f0e19bff46ca6934fe8148d1970", "sha256": "89397c5b652c5bce8e6bbe792ec15a4c17af3eb525bd68b6ceeb722077aecaf0" }, "downloads": -1, "filename": "doctor-1.4.0.tar.gz", "has_sig": false, "md5_digest": "dfa21f0e19bff46ca6934fe8148d1970", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44344, "upload_time": "2018-03-13T15:58:02", "url": "https://files.pythonhosted.org/packages/bc/16/c22049ea7315728a1e57d08e4dad1a6779d75fff5970f662b4a438aac858/doctor-1.4.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "18c303397c346d53ce6851ed183af36e", "sha256": "322b1a9d8c5bbd46f0b74bc1f682928b7d9512783f86c43757d81bb54e87509f" }, "downloads": -1, "filename": "doctor-3.0.0.tar.gz", "has_sig": false, "md5_digest": "18c303397c346d53ce6851ed183af36e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50364, "upload_time": "2018-03-13T20:53:13", "url": "https://files.pythonhosted.org/packages/48/86/e060629275f5cda9e0b6e2196af03bb381984d2325ee8109562b1e67c075/doctor-3.0.0.tar.gz" } ], "3.0.0b0": [ { "comment_text": "", "digests": { "md5": "d5c7dd1460d66450f6304d63d74762c8", "sha256": "61924ee63a903080483866e4b76d5f8ed09132dc528c0b1df2cc18b279ad6501" }, "downloads": -1, "filename": "doctor-3.0.0b0.tar.gz", "has_sig": false, "md5_digest": "d5c7dd1460d66450f6304d63d74762c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43648, "upload_time": "2018-02-27T23:02:22", "url": "https://files.pythonhosted.org/packages/79/d3/d960f92f1824a67b5666e3ca3b79c91aa6e4d513e8fb330d6bd4efda65f8/doctor-3.0.0b0.tar.gz" } ], "3.0.0b2": [ { "comment_text": "", "digests": { "md5": "20b0bdb99fe10785f73714e004c2cdb6", "sha256": "31b04f8c7959159a392032a33cd8540523b1901db0a97968ca8254b4bdf8557b" }, "downloads": -1, "filename": "doctor-3.0.0b2.tar.gz", "has_sig": false, "md5_digest": "20b0bdb99fe10785f73714e004c2cdb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43656, "upload_time": "2018-02-27T23:13:26", "url": "https://files.pythonhosted.org/packages/7b/a3/352646022b6e4c0504f24c23644a72c0486e87aca142f1e661df67acc6d7/doctor-3.0.0b2.tar.gz" } ], "3.0.0b3": [ { "comment_text": "", "digests": { "md5": "47319d91c68e7daf4beb37b098434549", "sha256": "fd88c0bda097853a63d544229b27bbdd23e73734112cc873bb67eaaf05a69e8a" }, "downloads": -1, "filename": "doctor-3.0.0b3.tar.gz", "has_sig": false, "md5_digest": "47319d91c68e7daf4beb37b098434549", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45029, "upload_time": "2018-02-28T23:39:24", "url": "https://files.pythonhosted.org/packages/2c/e8/fa9e38281f92355c3d79bcb74093ed90d2cc177b21cc49fe4c3396d2d6bc/doctor-3.0.0b3.tar.gz" } ], "3.0.0b4": [ { "comment_text": "", "digests": { "md5": "54c9628a5ecceadc9f0fd96b30423e39", "sha256": "1251b2db887b7e981d5de1b2962f7ed7297bde52a3ade34b8ef68a7d7778669a" }, "downloads": -1, "filename": "doctor-3.0.0b4.tar.gz", "has_sig": false, "md5_digest": "54c9628a5ecceadc9f0fd96b30423e39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46636, "upload_time": "2018-03-03T00:03:05", "url": "https://files.pythonhosted.org/packages/e5/e3/d9ffae85b9272c60ee7f64747a9b6206021795b3fcc1f26b34da8033fe01/doctor-3.0.0b4.tar.gz" } ], "3.0.0b5": [ { "comment_text": "", "digests": { "md5": "b2fadc2e622255ec0c17da9e6518619b", "sha256": "68539199b46d557385131fcc0875ba774ee1c5d1f9a79cecd63369eec4a5e30a" }, "downloads": -1, "filename": "doctor-3.0.0b5.tar.gz", "has_sig": false, "md5_digest": "b2fadc2e622255ec0c17da9e6518619b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48048, "upload_time": "2018-03-05T22:31:55", "url": "https://files.pythonhosted.org/packages/7e/a7/57a9e36962b077f70a4fd4ca4a867dca6ed362ae3e0539125e5123b1771e/doctor-3.0.0b5.tar.gz" } ], "3.0.0b6": [ { "comment_text": "", "digests": { "md5": "db0a95bfd506545832fad826334a9d46", "sha256": "6816aa19fa140e3abab34199d869236a6aee47a41aafaeae152ee2f6b495dabe" }, "downloads": -1, "filename": "doctor-3.0.0b6.tar.gz", "has_sig": false, "md5_digest": "db0a95bfd506545832fad826334a9d46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50124, "upload_time": "2018-03-08T21:28:04", "url": "https://files.pythonhosted.org/packages/e0/a5/ae60b278286370a9076d8196415b1a4c18e26aa327f63e0b7113e69e2678/doctor-3.0.0b6.tar.gz" } ], "3.0.0b7": [ { "comment_text": "", "digests": { "md5": "ca623ea487c9af831ed15a937dc9b972", "sha256": "8c9acb397372827267f3bf7bf111b90c0b767b4c6a18c0421642b1ecfa382c5e" }, "downloads": -1, "filename": "doctor-3.0.0b7.tar.gz", "has_sig": false, "md5_digest": "ca623ea487c9af831ed15a937dc9b972", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50358, "upload_time": "2018-03-12T21:27:09", "url": "https://files.pythonhosted.org/packages/17/6a/a14adf2926acfa5f66cdd956640bd4eb9cf77e31d08a896c95a8a4bdcccf/doctor-3.0.0b7.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "21f1a936f00a1b5c6681bc0d7e04b320", "sha256": "b63aed2e6f9344ce8411ba930e8068ec4f0d856251fbbeda759dc754dfe50c53" }, "downloads": -1, "filename": "doctor-3.0.1.tar.gz", "has_sig": false, "md5_digest": "21f1a936f00a1b5c6681bc0d7e04b320", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50423, "upload_time": "2018-03-19T18:31:25", "url": "https://files.pythonhosted.org/packages/52/33/adfd3248a5e5a3860cf1732db5a8121c0f8879ea6eeeacb3eb73015df3c8/doctor-3.0.1.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "2b65a306ce507da5a20e06a2c65ec91d", "sha256": "64e1fd16e4e4d461dcd35a9e7ab1b4ee6764ab3ef0b2e5a110101dd41ed94f79" }, "downloads": -1, "filename": "doctor-3.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2b65a306ce507da5a20e06a2c65ec91d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 41188, "upload_time": "2018-03-21T22:40:55", "url": "https://files.pythonhosted.org/packages/c9/98/16c3fdd88c49f10859c5e582998a47d05dbce3e7e1b3ab4f24e76f60fe5c/doctor-3.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fb7409ae624c0bcdc22f0930226c7f6", "sha256": "b5a0e94ec34ee96505bc64bb79dbfa0130b8da01bc8a22bcaa187b9f7c4b546f" }, "downloads": -1, "filename": "doctor-3.1.0.tar.gz", "has_sig": false, "md5_digest": "1fb7409ae624c0bcdc22f0930226c7f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50806, "upload_time": "2018-03-21T22:40:34", "url": "https://files.pythonhosted.org/packages/c2/d9/3b7071f49552af96b43d7db5106925b5c6d8bff1b70bfc8cb5fac1177709/doctor-3.1.0.tar.gz" } ], "3.10.0": [ { "comment_text": "", "digests": { "md5": "0d887f41b2aea10372ce263461865106", "sha256": "505db4e396a301bab10d3fa2e1af051e9745fb3a54cd976ad6b6f1b68bb5d120" }, "downloads": -1, "filename": "doctor-3.10.0.tar.gz", "has_sig": false, "md5_digest": "0d887f41b2aea10372ce263461865106", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55486, "upload_time": "2018-11-28T16:49:04", "url": "https://files.pythonhosted.org/packages/97/f5/638f146ab8d884801771d610f6cb9c434a9888eaf56d4ab05aeddff25cf4/doctor-3.10.0.tar.gz" } ], "3.10.1": [ { "comment_text": "", "digests": { "md5": "2a99f8414d43224b8961af693a300e2b", "sha256": "b02ec61b75adf208d6acade798fee75e2a26dc18259057026226a7d4ef79bd51" }, "downloads": -1, "filename": "doctor-3.10.1.tar.gz", "has_sig": false, "md5_digest": "2a99f8414d43224b8961af693a300e2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57067, "upload_time": "2018-12-07T23:31:24", "url": "https://files.pythonhosted.org/packages/af/37/9ae75ca2b28d3a14510d83525764e916fb6e83f1b43d8db54520269be797/doctor-3.10.1.tar.gz" } ], "3.10.2": [ { "comment_text": "", "digests": { "md5": "e09436b6b4a761365858c593d4d4b494", "sha256": "190e33e33e40af61083ba398a92c02e918f051d592df8b78376d4577f8e80161" }, "downloads": -1, "filename": "doctor-3.10.2.tar.gz", "has_sig": false, "md5_digest": "e09436b6b4a761365858c593d4d4b494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57101, "upload_time": "2018-12-10T16:57:17", "url": "https://files.pythonhosted.org/packages/bd/f8/f08820416f31e1de92aba51bf5a02e5dc8b9420ba523562f976b68b93d15/doctor-3.10.2.tar.gz" } ], "3.10.3": [ { "comment_text": "", "digests": { "md5": "a3ac875d2d6c88e6343a633d76731ca4", "sha256": "329ea3eae729fd9d20cc2876ad14b92ddae8196696a7b91477faebb48634ded7" }, "downloads": -1, "filename": "doctor-3.10.3.tar.gz", "has_sig": false, "md5_digest": "a3ac875d2d6c88e6343a633d76731ca4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58457, "upload_time": "2018-12-12T19:46:37", "url": "https://files.pythonhosted.org/packages/4e/15/bc7b9eb9e3886231d13be11fb1a91255006fdddbaf381565b1f0bc089153/doctor-3.10.3.tar.gz" } ], "3.11.0": [ { "comment_text": "", "digests": { "md5": "ed19a087e8802d3c9aa8694f9c39e2bb", "sha256": "038df779417706920a78cf54532be1407104ccd169154d9ddbfd429bd5279723" }, "downloads": -1, "filename": "doctor-3.11.0.tar.gz", "has_sig": false, "md5_digest": "ed19a087e8802d3c9aa8694f9c39e2bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58593, "upload_time": "2019-01-04T17:41:54", "url": "https://files.pythonhosted.org/packages/4e/cb/44c598afa382cf2c9af6f472356c996379b3fd4cff812114869d4071a6fd/doctor-3.11.0.tar.gz" } ], "3.12.0": [ { "comment_text": "", "digests": { "md5": "39bbe067e55a2de8472bd05cfe89004a", "sha256": "ecea853fd8007275f46d3d592c0a6b3a829e60244a414d874be86dbfe6c504df" }, "downloads": -1, "filename": "doctor-3.12.0.tar.gz", "has_sig": false, "md5_digest": "39bbe067e55a2de8472bd05cfe89004a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59258, "upload_time": "2019-01-11T16:12:05", "url": "https://files.pythonhosted.org/packages/ef/cb/4dc79a7ac6565443846d5d3042a47cb63b10d8e74739fdcc625ae7486ac7/doctor-3.12.0.tar.gz" } ], "3.12.1": [ { "comment_text": "", "digests": { "md5": "8deb183c1af31746ff0f5d276ff88996", "sha256": "23a900e6cffbd34df978eb71bfc86239e13604c929e3b42b1b23e7f6a95561a5" }, "downloads": -1, "filename": "doctor-3.12.1.tar.gz", "has_sig": false, "md5_digest": "8deb183c1af31746ff0f5d276ff88996", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59256, "upload_time": "2019-01-11T16:29:29", "url": "https://files.pythonhosted.org/packages/4b/e9/d422803ca93e1b17558b75d6efbdaa8216abe30139c222cce51ec15f641d/doctor-3.12.1.tar.gz" } ], "3.12.2": [ { "comment_text": "", "digests": { "md5": "da7d8411a833677b5ec108b4b8d0c6a2", "sha256": "01adabab3c2a911e746cf5d821a1a119b170a3f08e85f9868941984c07dac5a4" }, "downloads": -1, "filename": "doctor-3.12.2.tar.gz", "has_sig": false, "md5_digest": "da7d8411a833677b5ec108b4b8d0c6a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59395, "upload_time": "2019-02-04T16:16:49", "url": "https://files.pythonhosted.org/packages/1b/5f/9a8492fdf57ad01ae2d978324ecbac3f38283528d1b30d5da24f5795aadc/doctor-3.12.2.tar.gz" } ], "3.12.3": [ { "comment_text": "", "digests": { "md5": "587974a7d67dd9584988f21cd36c8b41", "sha256": "2f9d8fc808a5eddeb313e46b74db15e586d21d6f3652ead5cf3bf2eb83a529c3" }, "downloads": -1, "filename": "doctor-3.12.3.tar.gz", "has_sig": false, "md5_digest": "587974a7d67dd9584988f21cd36c8b41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59229, "upload_time": "2019-04-22T17:16:49", "url": "https://files.pythonhosted.org/packages/79/05/c7f9bf1f76081ee57bd1c8240dbce50b84d2bde991b9bf708b44daf79d84/doctor-3.12.3.tar.gz" } ], "3.13.0": [ { "comment_text": "", "digests": { "md5": "97cf6a5ea5c4dbeea5923c07743e0e0e", "sha256": "e0a6d14225c8e2e49baf29ab038b135605332e6673c52adc4db62ff524b5e7f0" }, "downloads": -1, "filename": "doctor-3.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "97cf6a5ea5c4dbeea5923c07743e0e0e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 44738, "upload_time": "2019-04-29T16:04:24", "url": "https://files.pythonhosted.org/packages/f9/d4/832d974fbcc34265c8771e5dd5b9503df28f57fced10c50c8cca74decd70/doctor-3.13.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1db9d16f564adbade51dca1b7c84c9a4", "sha256": "50801f8e1da547b9cac7ed570f935aa1fafbbc961814ce602e1e415a6eda5724" }, "downloads": -1, "filename": "doctor-3.13.0.tar.gz", "has_sig": false, "md5_digest": "1db9d16f564adbade51dca1b7c84c9a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59769, "upload_time": "2019-04-29T16:04:01", "url": "https://files.pythonhosted.org/packages/91/f0/cac0a7e2c013e65a3fb2c404db99e05fa1a4521ecd280b626c5325558cbe/doctor-3.13.0.tar.gz" } ], "3.13.1": [ { "comment_text": "", "digests": { "md5": "df3ee06a58ad7f3a0921e1fb1ac972e7", "sha256": "59bbbe2afd5dfa975b49e9b5113fff1d926eb3f72763dbab806875ea0058ca98" }, "downloads": -1, "filename": "doctor-3.13.1.tar.gz", "has_sig": false, "md5_digest": "df3ee06a58ad7f3a0921e1fb1ac972e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59860, "upload_time": "2019-07-03T16:07:14", "url": "https://files.pythonhosted.org/packages/ac/09/09844956b2788d2dff1fa08feffb896df1a154e015d75b91c4c7e22a7d72/doctor-3.13.1.tar.gz" } ], "3.13.2": [ { "comment_text": "", "digests": { "md5": "de464f32d3795e19bef662873004299a", "sha256": "400d28ebee702aef04b7406d7f6fd5b1494d828c04db53ccb3d534439318a4bf" }, "downloads": -1, "filename": "doctor-3.13.2.tar.gz", "has_sig": false, "md5_digest": "de464f32d3795e19bef662873004299a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59866, "upload_time": "2019-07-12T15:11:46", "url": "https://files.pythonhosted.org/packages/f7/a0/eae81b15e3803442ef9fdc4609a8e23b5e9b1d06063fc013770b6c0143a2/doctor-3.13.2.tar.gz" } ], "3.13.3": [ { "comment_text": "", "digests": { "md5": "8011297bda5a6a19003c6066e437b3b1", "sha256": "1968f62d0c92f02c7db49e3e6b07541d9d2443cac92aa74ee02f0f2fefc2324a" }, "downloads": -1, "filename": "doctor-3.13.3.tar.gz", "has_sig": false, "md5_digest": "8011297bda5a6a19003c6066e437b3b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59870, "upload_time": "2019-07-12T19:24:56", "url": "https://files.pythonhosted.org/packages/d1/f9/1c251392b7763078683e78e2a4bb0866f65188841f722589387cace4f63a/doctor-3.13.3.tar.gz" } ], "3.13.4": [ { "comment_text": "", "digests": { "md5": "d14d52ad41294a98bba81ce0ac44fc34", "sha256": "9b0abb18e89a64594d853882cc08a3a110e5ab0b1026fa78c63223c790980b21" }, "downloads": -1, "filename": "doctor-3.13.4.tar.gz", "has_sig": false, "md5_digest": "d14d52ad41294a98bba81ce0ac44fc34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59881, "upload_time": "2019-07-12T22:25:48", "url": "https://files.pythonhosted.org/packages/74/fe/56a9a6e89abbf877d6a31c01a8ed10a6327fd1cb644777d28a2de10be22b/doctor-3.13.4.tar.gz" } ], "3.13.5": [ { "comment_text": "", "digests": { "md5": "31dd5908b01e10613f80ee64d7435ef3", "sha256": "aebc33e442c1a8391cd9192fd97e2e775faef4424d13ebaea627890ea4a7b10e" }, "downloads": -1, "filename": "doctor-3.13.5.tar.gz", "has_sig": false, "md5_digest": "31dd5908b01e10613f80ee64d7435ef3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59886, "upload_time": "2019-07-12T23:02:26", "url": "https://files.pythonhosted.org/packages/eb/26/fc014f4fab914a0760cbc19c950d1faeb86e067b6e18070327af47d6c6b0/doctor-3.13.5.tar.gz" } ], "3.13.6": [ { "comment_text": "", "digests": { "md5": "704d94fe57e7fc9d42fd0ec07129f835", "sha256": "eb088a5d065e8f8df8dc2257698af1a159fd4ff102d36df4e52e5ca6fd2d5bdd" }, "downloads": -1, "filename": "doctor-3.13.6.tar.gz", "has_sig": false, "md5_digest": "704d94fe57e7fc9d42fd0ec07129f835", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59886, "upload_time": "2019-07-15T16:32:15", "url": "https://files.pythonhosted.org/packages/d1/b4/19c0608b2a2ab189cfab1a823fa17af6b98fa5d1c22b47f02b014f922073/doctor-3.13.6.tar.gz" } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "20db1f0600c53815e1a62c1a105beaea", "sha256": "0869ef2b470cf32684e097c88b93b05768158f0474ef0287f050c788c3c9feb4" }, "downloads": -1, "filename": "doctor-3.2.0.tar.gz", "has_sig": false, "md5_digest": "20db1f0600c53815e1a62c1a105beaea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51377, "upload_time": "2018-03-22T19:06:22", "url": "https://files.pythonhosted.org/packages/20/14/51f7b9acba4e2d61344cc3ad2b8650b37cf03828b415125fb0ae8ca7dd5a/doctor-3.2.0.tar.gz" } ], "3.3.0": [ { "comment_text": "", "digests": { "md5": "0fd12952624982cbc4e4aa328fbaa4e3", "sha256": "b7730bf7b203b3c7512a1e83b46e12dcf37286e02efccdefc76c8081a67b24d9" }, "downloads": -1, "filename": "doctor-3.3.0.tar.gz", "has_sig": false, "md5_digest": "0fd12952624982cbc4e4aa328fbaa4e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51408, "upload_time": "2018-05-04T18:07:48", "url": "https://files.pythonhosted.org/packages/7f/db/8b590235d1071fc895e9cc0fe33d5c1bd2b8b7a333a30343ae59525747d5/doctor-3.3.0.tar.gz" } ], "3.4.0": [ { "comment_text": "", "digests": { "md5": "b1cb91a5b16204530145cf2f9dbc0bde", "sha256": "8a0180fdfb3952ae544658a2438a4103333beb2f0c249e5130b75c0f0d547f64" }, "downloads": -1, "filename": "doctor-3.4.0.tar.gz", "has_sig": false, "md5_digest": "b1cb91a5b16204530145cf2f9dbc0bde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51972, "upload_time": "2018-05-04T18:20:29", "url": "https://files.pythonhosted.org/packages/5c/83/b0f1aa533d6fb07f17f7d4d831c694341a84c88f7e6e720042b2f5f80fb4/doctor-3.4.0.tar.gz" } ], "3.5.0": [ { "comment_text": "", "digests": { "md5": "605d28d23811180d9edab41f31eef4b6", "sha256": "fbdd8758a30eb0bc6eff51b73c0152f28cbb7bc897279521b0f09b290f799ff4" }, "downloads": -1, "filename": "doctor-3.5.0.tar.gz", "has_sig": false, "md5_digest": "605d28d23811180d9edab41f31eef4b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52758, "upload_time": "2018-05-11T21:49:56", "url": "https://files.pythonhosted.org/packages/b8/7c/a03644da5c0facded8dfcdc599c2edc8841deabe506f15000c9b62c4f8a2/doctor-3.5.0.tar.gz" } ], "3.6.0": [ { "comment_text": "", "digests": { "md5": "5877225cc7b8425c6d8470486ba51a67", "sha256": "5b7ad6eddc65d2d80b3858baf9e592480bc2d8e5afeec32740c3ffe02b04c419" }, "downloads": -1, "filename": "doctor-3.6.0.tar.gz", "has_sig": false, "md5_digest": "5877225cc7b8425c6d8470486ba51a67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51299, "upload_time": "2018-05-16T18:37:41", "url": "https://files.pythonhosted.org/packages/16/bc/93bc10375de874f45ef41b1ec7612618702d30b3812a0bf33a3b385c020d/doctor-3.6.0.tar.gz" } ], "3.6.1": [ { "comment_text": "", "digests": { "md5": "38cf0b8deceba5eeed400dc19be74138", "sha256": "1447f1bb7ea6eee55870e6230fc62a71b17fb7e0ede8cbb84d9a9a8e65604a32" }, "downloads": -1, "filename": "doctor-3.6.1.tar.gz", "has_sig": false, "md5_digest": "38cf0b8deceba5eeed400dc19be74138", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51273, "upload_time": "2018-05-21T22:57:54", "url": "https://files.pythonhosted.org/packages/cf/b0/acb6616a7b66cd1e6b17a1a805a1e3ae0940f5f8c1832d1db2ff8fed22b4/doctor-3.6.1.tar.gz" } ], "3.7.0": [ { "comment_text": "", "digests": { "md5": "04313f5dc4984f28f6d474961962f482", "sha256": "6a0cc5372f1b71251b9b0a18e28fbe1b949f864d593adc79602bb55237d072d5" }, "downloads": -1, "filename": "doctor-3.7.0.tar.gz", "has_sig": false, "md5_digest": "04313f5dc4984f28f6d474961962f482", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52193, "upload_time": "2018-06-19T17:17:02", "url": "https://files.pythonhosted.org/packages/f7/5e/0eae6265b6d55a303854d4ea4386e6e84afe29937b59816ac8b94822dfb0/doctor-3.7.0.tar.gz" } ], "3.8.0": [ { "comment_text": "", "digests": { "md5": "c5d6a56a88f77c8cb1bc3ad40b6b87b5", "sha256": "0b22e5edf6012220a4299e8202dca5af1f000f52b5a13c8f81bbd7150882c8f8" }, "downloads": -1, "filename": "doctor-3.8.0.tar.gz", "has_sig": false, "md5_digest": "c5d6a56a88f77c8cb1bc3ad40b6b87b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52383, "upload_time": "2018-06-21T20:46:21", "url": "https://files.pythonhosted.org/packages/b6/59/64dec5b78b53f69a0987c3d9fb287e95696ef02b0b594bd5ab499627a1ff/doctor-3.8.0.tar.gz" } ], "3.8.1": [ { "comment_text": "", "digests": { "md5": "e4c504d1f873b31e0dde464f4abb0331", "sha256": "f46f5a08391edeb10a6e2dbd2ae942e002fa44e8be361c3758d0f70775f7ce97" }, "downloads": -1, "filename": "doctor-3.8.1.tar.gz", "has_sig": false, "md5_digest": "e4c504d1f873b31e0dde464f4abb0331", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52579, "upload_time": "2018-06-26T16:29:13", "url": "https://files.pythonhosted.org/packages/c8/6c/38d55cd5c10108728c3675d7e4e7301ecf5f523c2971f6b4509bb38c1b44/doctor-3.8.1.tar.gz" } ], "3.8.2": [ { "comment_text": "", "digests": { "md5": "1ea0990229df791fd420ec80cbbc49b0", "sha256": "b7efe98643858ee74c75e684513e4db9408892049adc41855a9703ce93565c06" }, "downloads": -1, "filename": "doctor-3.8.2.tar.gz", "has_sig": false, "md5_digest": "1ea0990229df791fd420ec80cbbc49b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52632, "upload_time": "2018-07-02T17:54:15", "url": "https://files.pythonhosted.org/packages/e8/82/2b98b46f3af055c15f4c6c6934d7e04a019e4c226c66b1da039b71967e1c/doctor-3.8.2.tar.gz" } ], "3.9.0": [ { "comment_text": "", "digests": { "md5": "c0234fb208200626c1f162b73bf12f89", "sha256": "b912d20c3470b55614541be54e15e3cea6955d3b7fc7ebfcb5970eb9e1ec6a18" }, "downloads": -1, "filename": "doctor-3.9.0.tar.gz", "has_sig": false, "md5_digest": "c0234fb208200626c1f162b73bf12f89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53192, "upload_time": "2018-07-13T20:50:51", "url": "https://files.pythonhosted.org/packages/b4/f0/31affea29acb7e872d4fb375d7eed562b39ee32080b0b236d45fce49e428/doctor-3.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "704d94fe57e7fc9d42fd0ec07129f835", "sha256": "eb088a5d065e8f8df8dc2257698af1a159fd4ff102d36df4e52e5ca6fd2d5bdd" }, "downloads": -1, "filename": "doctor-3.13.6.tar.gz", "has_sig": false, "md5_digest": "704d94fe57e7fc9d42fd0ec07129f835", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59886, "upload_time": "2019-07-15T16:32:15", "url": "https://files.pythonhosted.org/packages/d1/b4/19c0608b2a2ab189cfab1a823fa17af6b98fa5d1c22b47f02b014f922073/doctor-3.13.6.tar.gz" } ] }