{ "info": { "author": "Lim H.", "author_email": "limdauto@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "===========\nDRF OpenAPI\n===========\n\n\n.. image:: https://img.shields.io/pypi/v/drf_openapi.svg\n :target: https://pypi.python.org/pypi/drf_openapi\n\n.. image:: https://img.shields.io/travis/limdauto/drf_openapi.svg\n :target: https://travis-ci.org/limdauto/drf_openapi\n\n.. image:: https://readthedocs.org/projects/drf-openapi/badge/?version=latest\n :target: https://drf-openapi.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/limdauto/drf_openapi/shield.svg\n :target: https://pyup.io/repos/github/limdauto/drf_openapi/\n :alt: Updates\n\n.. image:: https://badges.gitter.im/drf_openapi/Lobby.svg\n :target: https://gitter.im/drf_openapi/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n :alt: Join the chat at https://gitter.im/drf_openapi/Lobby\n\n\nGenerates OpenAPI-compatible schema from API made with Django Rest Framework. Use `ReDoc `_ as default interface instead of Swagger.\nFirst-class support for API versioning changelog & method-specific schema definition.\n\n.. figure:: https://raw.githubusercontent.com/limdauto/drf_openapi/master/images/screenshot.png\n :scale: 80%\n\n.. contents::\n\n1. Background\n---------------\n\nDjango Rest Framework has an `API schema generation/declaration mechanism `_ provided by\n`coreapi `_ standard. There are a couple of problems with the current ecosystem:\n\n- CoreAPI is not compatible out of the box with `OpenAPI `_ which is a much more popular API standard with superior tooling support, i.e. Swagger et. al.\n- The OpenAPI codec (compatibility layer) that CoreAPI team provides drops / doesn't support a number of useful OpenAPI features.\n- There is no support for versioning or method-specific schema.\n\n2. Requirements:\n-------------------\n\nThis project was born to bridge the gap between DRF and OpenAPI. The high-level requirements are as followed:\n\n- Can be dropped into any existing DRF project without any code change necessary.\n- Provide clear disctinction between request schema and response schema.\n- Provide a versioning mechanism for each schema. Support defining schema by version range syntax, e.g. :code:`>1.0, <=2.0`\n- Support multiple response codes, not just :code:`200`\n- All this information should be bound to view methods, not view classes.\n\nIt's important to stress the non-intrusiveness requirement, not least because I want to minimize what I will have to change when\nDRF itself decides to support OpenAPI officially, if at all.\n\n3. Design\n-------------\n\n- Schema are automatically generated from `serializers `_\n * From here onwards, :code:`schema` and :code:`serializer` are used interchangably\n- Versioned schema is supported by extending :code:`VersionedSerializers`.\n- Metadata, i.e. versioning, response and request schema, are bound to a view method through the :code:`view_config` decorator.\n- Extra schema information such as response status codes and their descriptions are bound to the serializer :code:`Meta` class\n- Automatic response validation is optionally provided :code:`view_config(response_serializer=FooSerializer, validate_response=True)`\n\n4. Constraints\n----------------\n\nCurrently DRF OpenAPI only supports DRF project that has `versioning `_ enabled.\nI have only tested `URLPathVersioning `_ but I intend to suppor the full range of\nversioning scheme supported by DRF.\n\n5. Examples\n------------\n\nPlease read the `docs `_ for a quickstart.\n\nAlso I have recreated the example in `DRF tutorial `_ with OpenAPI schema enabled\nin ``_.\n\n6. License\n------------\nMIT\n\n\n=======\nHistory\n=======\n\n0.1.0 (2017-07-01)\n------------------\n\n* First release on PyPI.\n\n0.7.0 (2017-07-28)\n------------------\n\n* Implement :code:`VersionedSerializer`\n* Implement :code:`view_config`\n* Make the library an installable Django app\n\n0.8.0 (2017-07-28)\n------------------\n\n* Some minor fixes to make sure it works on generic project\n* Add examples\n\n0.8.1 (2017-07-28)\n------------------\n\n* Fix bug when parsing empty docstring of the serializer\n\n0.9.0 (2017-07-28)\n------------------\n\n* Rename base :code:`VersionedSerializer` into :code:`VersionedSerializers`\n\n0.9.1 (2017-07-28)\n------------------\n\n* Fix import issue after renaming\n\n0.9.3 (2017-08-05)\n------------------\n\n* Add support for different response status codes (`Issue 27 `_)\n\n0.9.5 (2017-08-12)\n------------------\n\n* Add Python 2.7 compatibility (thanks `tuffnatty `_)\n* Add support for ModelViewSet (thanks `tuffnatty `_)\n\n0.9.6 (2017-08-12)\n------------------\n\n* Fix type display for child of ListSerializer/ListField (`Issue 28 `_)\n\n0.9.7 (2017-09-12)\n------------------\n\n* Improve permission for schema view (`Issue 31 `_)\n\n0.9.8 (2017-10-01)\n------------------\n\n* Turn schema view into a class-based view for easier customization\n\n0.9.9 (2017-10-01)\n------------------\n\n* Another fix for ListSerializer/ListField (`Issue 28 `_)\n\n1.0.1 (2017-12-14)\n------------------\n\n* Fix DRF 3.7 compatibility issue\n* Added (`werwty `_) as a maintainer\n\n1.1.0 (2017-12-14)\n------------------\n\n* Fix viewset that doesn't have pagination_class (`Issue 84 `_) and (`Issue 92 `_)\n\n1.2.0 (2017-12-20)\n------------------\n\n* Make serializer_class optional (`Issue 57 `_)\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/limdauto/drf_openapi", "keywords": "drf_openapi", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "drf-openapi", "package_url": "https://pypi.org/project/drf-openapi/", "platform": "", "project_url": "https://pypi.org/project/drf-openapi/", "project_urls": { "Homepage": "https://github.com/limdauto/drf_openapi" }, "release_url": "https://pypi.org/project/drf-openapi/1.3.0/", "requires_dist": [ "Click (>=6.0)", "django-rest-swagger (==2.1.2)" ], "requires_python": "", "summary": "Utilities to generate OpenAPI-compatible schema from API made with Django Rest Framework", "version": "1.3.0" }, "last_serial": 3456663, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "349dd0638231bd0c7571e5ef2b5fc8b8", "sha256": "aa90258cf7cd3328c80391001a0a7c94202d852c9d59f61b299f9101b43cb112" }, "downloads": -1, "filename": "drf_openapi-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "349dd0638231bd0c7571e5ef2b5fc8b8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4280, "upload_time": "2017-07-01T23:10:42", "url": "https://files.pythonhosted.org/packages/71/ac/dc88fafa52526473c6b026be4f228ed60184bef628defe79b65e04dd4b26/drf_openapi-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6047ec8c173a97984a757d28f7f8c073", "sha256": "db2aa41b6ffa6971cc2689ee9ba67620b3aaba516572857424ee438e84aa0e77" }, "downloads": -1, "filename": "drf_openapi-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6047ec8c173a97984a757d28f7f8c073", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11734, "upload_time": "2017-07-01T23:10:43", "url": "https://files.pythonhosted.org/packages/eb/70/f271caa2f4a8e25b1efeb40bb96466260c8fca9063145dc308e49dc0e235/drf_openapi-0.1.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "c401bc13d7565576fe256ebb570e1d7d", "sha256": "bb89e1d9c0a689b5a3c9d0fa7d380a9abef5432b4b8a5985fb809e908eac99c2" }, "downloads": -1, "filename": "drf_openapi-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c401bc13d7565576fe256ebb570e1d7d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13128, "upload_time": "2017-07-28T14:56:07", "url": "https://files.pythonhosted.org/packages/8e/83/00271803dc71128104aa8e63f61b3d391143a4b1ea1487a56b1678761b11/drf_openapi-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d2db637561cad40d182de0236d54e07", "sha256": "c44676bf020746c964232e431c6f761ad87884da4f8d7f9d8181307a0c67c7ec" }, "downloads": -1, "filename": "drf_openapi-0.5.0.tar.gz", "has_sig": false, "md5_digest": "1d2db637561cad40d182de0236d54e07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18190, "upload_time": "2017-07-28T14:56:10", "url": "https://files.pythonhosted.org/packages/8d/50/5f6779393e2d1464b1745fd4ecb39a257d3b280a2b2ce9f1d32b504463cd/drf_openapi-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "715a0be4a59e10f5e61881a5bb0b6995", "sha256": "c5ee9a2dd78f012bc14a2e8a30c02e61c2feaec1b484ad631b5ad073ee60f36b" }, "downloads": -1, "filename": "drf_openapi-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "715a0be4a59e10f5e61881a5bb0b6995", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13321, "upload_time": "2017-07-28T15:51:26", "url": "https://files.pythonhosted.org/packages/bd/93/f9e9fb014bf5ab33626b6da9fa6dd7ce4b16cc5ce5d0ae1f86f2fa758a77/drf_openapi-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d799e8478586c54a94f4eb78f063136", "sha256": "b03b6bcca0028ac30337b5dd948e1de11cdd42a4ab5540ec42b27d018b5bbdae" }, "downloads": -1, "filename": "drf_openapi-0.6.0.tar.gz", "has_sig": false, "md5_digest": "8d799e8478586c54a94f4eb78f063136", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18404, "upload_time": "2017-07-28T15:51:30", "url": "https://files.pythonhosted.org/packages/21/8b/1460a397b3cb220b813e61acb0f83e10dd8434d20c78df9c937cba0caf35/drf_openapi-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "b4814f6308a267216c725279a752e6ab", "sha256": "fcd86ba203d4bd265ad39c4e957a35d506e446d342d7c5e06590dc347a2be765" }, "downloads": -1, "filename": "drf_openapi-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b4814f6308a267216c725279a752e6ab", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13464, "upload_time": "2017-07-28T16:18:10", "url": "https://files.pythonhosted.org/packages/0e/8b/4a62e57cb8d79d329ad8f68272f4e120a43a8d8153439e24faed19816848/drf_openapi-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c87de4d44670b7005ad05bd9c54b82fd", "sha256": "ce1612b80cbd5e3e9e6137005101b861c44c8cc4b3805f7c59c8b8fd6299cde5" }, "downloads": -1, "filename": "drf_openapi-0.7.0.tar.gz", "has_sig": false, "md5_digest": "c87de4d44670b7005ad05bd9c54b82fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18557, "upload_time": "2017-07-28T16:18:11", "url": "https://files.pythonhosted.org/packages/48/35/ea76f36a223addf558099ba0a7705bd88537d133e019310d4bfc49509120/drf_openapi-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "7f5f446ea707d9464d0f177b18431dcc", "sha256": "b110fcb5fff0a49edab55dccf55b89b48681ef83263be7ba5cc1f8314e3a91f2" }, "downloads": -1, "filename": "drf_openapi-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f5f446ea707d9464d0f177b18431dcc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14244, "upload_time": "2017-07-28T22:38:29", "url": "https://files.pythonhosted.org/packages/e0/d6/6f4c50613c4fa9588fd0075c30dfbea48a5771a9a54e32c0775e269ab5b9/drf_openapi-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dcfef8b07fb99c040cdf22bed9b64c3d", "sha256": "56a1fecbef776affa72161de2999e186eef75cbffb38c1e47b416b1afd0a4257" }, "downloads": -1, "filename": "drf_openapi-0.8.0.tar.gz", "has_sig": false, "md5_digest": "dcfef8b07fb99c040cdf22bed9b64c3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19084, "upload_time": "2017-07-28T22:38:30", "url": "https://files.pythonhosted.org/packages/57/15/5e31931b10461af0412fc3d9d6a77ba0198f551c505b89015ed7d334293a/drf_openapi-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "0a09a165bca60455082bd26adaf573fe", "sha256": "fb6e89157e91f9b14ec3d14c6a84e43c9841f3bec065f07f0d2c65a5cb693bec" }, "downloads": -1, "filename": "drf_openapi-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a09a165bca60455082bd26adaf573fe", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14406, "upload_time": "2017-07-28T22:53:50", "url": "https://files.pythonhosted.org/packages/c7/a0/8a01ca3d53b550bf8f4bf2613846ab396f76ee822303303cd0ee9334b7c0/drf_openapi-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e27109bd0055c26092cbde54442fc64", "sha256": "a4a9a19f0938d4a3f49cd985b5477a66e855716096f1253bcdaa8d847b269ac1" }, "downloads": -1, "filename": "drf_openapi-0.8.1.tar.gz", "has_sig": false, "md5_digest": "9e27109bd0055c26092cbde54442fc64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19202, "upload_time": "2017-07-28T22:53:51", "url": "https://files.pythonhosted.org/packages/f4/fb/d0ef3c9fd88ed17b9575b834cedf65219c948c30fa12d08efbf66718b2f5/drf_openapi-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "8f15c49040c52ee828b33e858a29432b", "sha256": "d83a7bfe3f2f8015956707ccb45e674956f7c461106e09dfa239facdcd81861c" }, "downloads": -1, "filename": "drf_openapi-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8f15c49040c52ee828b33e858a29432b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14720, "upload_time": "2017-07-28T23:05:39", "url": "https://files.pythonhosted.org/packages/58/c9/00f3605b9e33b7b56101f0b4f52cdc41ae52282101a97ea1db1bd9ed3c59/drf_openapi-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f9df2deffc4019bd698c85d3e96b049", "sha256": "4bee59971ed15a1894e4ced7e9a55a6c964b47124dc0f5e1b467222ec872369d" }, "downloads": -1, "filename": "drf_openapi-0.9.0.tar.gz", "has_sig": false, "md5_digest": "9f9df2deffc4019bd698c85d3e96b049", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19421, "upload_time": "2017-07-28T23:05:40", "url": "https://files.pythonhosted.org/packages/af/9f/310c07df902e84b9d55f3a7dd3386d4b20983476d76751a1ca5836f8cc70/drf_openapi-0.9.0.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "be36a662279876d407949fd301647ac9", "sha256": "9b1af519a4222048a56ee804e0f1862469d15eb7e90ea6d505e0f23ea465afc1" }, "downloads": -1, "filename": "drf_openapi-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "be36a662279876d407949fd301647ac9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14797, "upload_time": "2017-07-28T23:18:02", "url": "https://files.pythonhosted.org/packages/3a/f7/f50015e436530c98e49b277381195b6093b48a528abc892b165466b67447/drf_openapi-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "348013d5b3449b382c6c21952d4dd169", "sha256": "018ce62c599caf5473648a10e0f0e41791ca2d8d069ed8498774abdc90b85b25" }, "downloads": -1, "filename": "drf_openapi-0.9.2.tar.gz", "has_sig": false, "md5_digest": "348013d5b3449b382c6c21952d4dd169", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19502, "upload_time": "2017-07-28T23:18:04", "url": "https://files.pythonhosted.org/packages/8c/42/1e7de6d854e1163cbdd82d04a6a0d69acb4e1a50c8bcd5ac71e38e4d586c/drf_openapi-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "b42ce59e5307f5226507e0ff3a8e0ec7", "sha256": "8c18beca3006b051ca462afa1b4342b3092188d1b6f4e0cbd1b14f37b9179045" }, "downloads": -1, "filename": "drf_openapi-0.9.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b42ce59e5307f5226507e0ff3a8e0ec7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13569, "upload_time": "2017-08-05T00:50:21", "url": "https://files.pythonhosted.org/packages/6c/a9/ccab954681b3db9e0476ec541e2dddc1de13e8e02f2bbe0bd02f8b84c00d/drf_openapi-0.9.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4662cb7b0f4f6821db7bc5989f0fe8d", "sha256": "2eb9c052070335e5739f8d3c46a840e425da41bbaac1d927920d2d49135b1b99" }, "downloads": -1, "filename": "drf_openapi-0.9.3.tar.gz", "has_sig": false, "md5_digest": "c4662cb7b0f4f6821db7bc5989f0fe8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19477, "upload_time": "2017-08-05T00:50:22", "url": "https://files.pythonhosted.org/packages/01/87/fb497e56b77a28c1cf6f24a392d4b342753ce7e8ebcf0db608e4b74f3a0c/drf_openapi-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "05fc3132123ce89efecc273a0ff1b446", "sha256": "d816e82d6d53c390772ff16393ffe962d924f62e0d24a48b1e9d35b369fc6fcb" }, "downloads": -1, "filename": "drf_openapi-0.9.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "05fc3132123ce89efecc273a0ff1b446", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13570, "upload_time": "2017-08-05T00:54:41", "url": "https://files.pythonhosted.org/packages/e1/66/17134c0501a818bdfb4e174573d1cae4b7ddea4e619582277f0fb3573ec0/drf_openapi-0.9.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a12335fddd065eeaa41392d7bfd9e0e", "sha256": "c4bf29e5fc92b94e092d19b6cd3e79955f8ff5eb29d417910c986b3f34db288a" }, "downloads": -1, "filename": "drf_openapi-0.9.4.tar.gz", "has_sig": false, "md5_digest": "5a12335fddd065eeaa41392d7bfd9e0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19472, "upload_time": "2017-08-05T00:54:42", "url": "https://files.pythonhosted.org/packages/dc/27/024e2cc85babb656bb25a0f85de17bdd694a017d05549008b02278464342/drf_openapi-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "92ac4920787779eee1fa172bd4bdfdaf", "sha256": "47c2254163452b21d8f2e4ba2654adde14d388fc13b43855dab0134dee359769" }, "downloads": -1, "filename": "drf_openapi-0.9.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92ac4920787779eee1fa172bd4bdfdaf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14298, "upload_time": "2017-08-12T11:13:00", "url": "https://files.pythonhosted.org/packages/44/5c/23abf1fa75580fadd6599014bbf20c380dc736bb002f6eb8c9bd7fd1e607/drf_openapi-0.9.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e06ac2f846a3350818f7e0b565f74d10", "sha256": "5819d325feba1d1d693553054a9418a5c61d834df666e1fe904ec0b9509d73e8" }, "downloads": -1, "filename": "drf_openapi-0.9.5.tar.gz", "has_sig": false, "md5_digest": "e06ac2f846a3350818f7e0b565f74d10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20108, "upload_time": "2017-08-12T11:13:01", "url": "https://files.pythonhosted.org/packages/f0/98/a071f9e36aed74bf852563084680d09bce48131b8c1e49bf0916afb647ca/drf_openapi-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "61377d6839846e5c2468a5c36a4900b4", "sha256": "df0e8bb2f62607b9c11fcb8da8a6fa1094b60ac069f29af541e9d35acb0a5b32" }, "downloads": -1, "filename": "drf_openapi-0.9.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "61377d6839846e5c2468a5c36a4900b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15003, "upload_time": "2017-08-12T20:04:55", "url": "https://files.pythonhosted.org/packages/e4/37/682ba09088e79c734b3bf2b617487a3a3998d699aea297cf168baf198197/drf_openapi-0.9.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17c0e3f4114c59c902b904db70650c30", "sha256": "f7cc687e7519675690b198153643fcd571b88620f2fcad2d30692e51c72f02e7" }, "downloads": -1, "filename": "drf_openapi-0.9.6.tar.gz", "has_sig": false, "md5_digest": "17c0e3f4114c59c902b904db70650c30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20785, "upload_time": "2017-08-12T20:04:59", "url": "https://files.pythonhosted.org/packages/d2/ba/bcd64df5529889d63b71d549bb941da1dd4e30ddd6e5d5c83944fb115ec3/drf_openapi-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "c38511e6d97ce73461e11994b245882c", "sha256": "5ff9eb322600df6a3ba91971dcde2b416cbcb77c8295d1bd2f7231e4967ce062" }, "downloads": -1, "filename": "drf_openapi-0.9.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c38511e6d97ce73461e11994b245882c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15058, "upload_time": "2017-09-26T01:33:50", "url": "https://files.pythonhosted.org/packages/bd/96/deba8b1132eac81a16492fba9df3ad7e16dd7c4a1a214066e9ba5c8f6691/drf_openapi-0.9.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b19f1f132c0d3c4afb67d7b7eca9a75", "sha256": "88e08440bf3ac1658fabe34e178041845194ae189a61ed26db1a288e30a17ff3" }, "downloads": -1, "filename": "drf_openapi-0.9.7.tar.gz", "has_sig": false, "md5_digest": "8b19f1f132c0d3c4afb67d7b7eca9a75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20995, "upload_time": "2017-09-26T01:33:54", "url": "https://files.pythonhosted.org/packages/9f/f9/afd0dc6a756d1a9ff9564d98877555dd9bb7c5bbf054962bacda6ac458fa/drf_openapi-0.9.7.tar.gz" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "1ada73fbbe0b17ece211f67c96b01ffc", "sha256": "7c3a8c0147c7c7878ab7bababfdc5905315d822576b9c14397cf5c580b8bc359" }, "downloads": -1, "filename": "drf_openapi-0.9.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1ada73fbbe0b17ece211f67c96b01ffc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15136, "upload_time": "2017-10-01T16:05:04", "url": "https://files.pythonhosted.org/packages/bb/df/eb55eeac5bf44b93dfd66e98c14ae56a39118e004fc66c49eaba36e760b2/drf_openapi-0.9.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af16778ed307eb74d756d87edc5c0ee5", "sha256": "57115eafb8d9f16b776d5a7bfe66a4719ba79f717101c21aeba5b401db4d8411" }, "downloads": -1, "filename": "drf_openapi-0.9.8.tar.gz", "has_sig": false, "md5_digest": "af16778ed307eb74d756d87edc5c0ee5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21291, "upload_time": "2017-10-01T16:05:07", "url": "https://files.pythonhosted.org/packages/23/49/827c96659fff02665d524c82e61ebf62ee31686b0bb05afb87f37453a451/drf_openapi-0.9.8.tar.gz" } ], "0.9.9": [ { "comment_text": "", "digests": { "md5": "b215cfb5987ce8e631c11f0780cb713d", "sha256": "144e159c41fcbeec7791e8bbc531cbcda1945df72b5a0349cc668737ef7ee2f9" }, "downloads": -1, "filename": "drf_openapi-0.9.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b215cfb5987ce8e631c11f0780cb713d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15375, "upload_time": "2017-10-01T23:30:36", "url": "https://files.pythonhosted.org/packages/59/83/0d523454397bd7a8984aa4742b88fcf12f6afaeec99db2fda774cfe45ad6/drf_openapi-0.9.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7887d1f3f1a1a6a28b0945f47b16f5b", "sha256": "6f04a4cdf4ea2340a9cf5cb8b74e4a824b292133aa5b7f5b2e7670276ee618c5" }, "downloads": -1, "filename": "drf_openapi-0.9.9.tar.gz", "has_sig": false, "md5_digest": "e7887d1f3f1a1a6a28b0945f47b16f5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21507, "upload_time": "2017-10-01T23:30:38", "url": "https://files.pythonhosted.org/packages/a1/74/332f84a1f5b9e29cf1aa4d5332a9da546d7573a4441acf27be9be45a1082/drf_openapi-0.9.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "d22954c399fcce2716d410a7cfed9d1a", "sha256": "aec722d09c876b1d3475000f94f7a6a25c567d52cccc53af4b030ca48d67e849" }, "downloads": -1, "filename": "drf_openapi-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d22954c399fcce2716d410a7cfed9d1a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15407, "upload_time": "2017-10-01T23:51:42", "url": "https://files.pythonhosted.org/packages/ba/83/b8280aea2d97c0a3bb52188479a246df1bae6ff81ac778451d22281934eb/drf_openapi-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "489d35ebc1df6cf5b437808b6ddc84ef", "sha256": "2283b555413fc430a10bc3275ea3d7a1bf95701ff19764235d66d8f7d64e084a" }, "downloads": -1, "filename": "drf_openapi-1.0.0.tar.gz", "has_sig": false, "md5_digest": "489d35ebc1df6cf5b437808b6ddc84ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21547, "upload_time": "2017-10-01T23:51:44", "url": "https://files.pythonhosted.org/packages/1e/22/b014b84c18581ddc03ea22a42907db081d6b803340abf6c0d2e0879d23b3/drf_openapi-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3bddbd53b40e86ad52398268de039c81", "sha256": "634e86839b4c62c38ba8ae3411704665410ae216c918fe00b8b35675a40b30e0" }, "downloads": -1, "filename": "drf_openapi-1.0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3bddbd53b40e86ad52398268de039c81", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15535, "upload_time": "2017-12-14T17:53:04", "url": "https://files.pythonhosted.org/packages/14/80/ae76f840926369a7b44f8e553eb25e3fd874f4497b21824fc122045a155f/drf_openapi-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a695dbfbfce8893f3a08a91ea3a83d9", "sha256": "912976fffb1fe8cde4dd7809505ff43f7e64b25892781a76c8ce9f5c1c8481be" }, "downloads": -1, "filename": "drf_openapi-1.0.1.tar.gz", "has_sig": true, "md5_digest": "6a695dbfbfce8893f3a08a91ea3a83d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22993, "upload_time": "2017-12-14T17:53:06", "url": "https://files.pythonhosted.org/packages/af/bb/42988f21bf87592b5b5f8981224a4207f3f1b50943d7dcb5b13efb2561f3/drf_openapi-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "a3412e9eb4780c6a3febeb11b1f15243", "sha256": "69e0e4ff4ccf9a61e5e1defaf800f092c0ce92a7c2fcc5d6583ebe8082c2ca80" }, "downloads": -1, "filename": "drf_openapi-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3412e9eb4780c6a3febeb11b1f15243", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15609, "upload_time": "2017-12-14T19:15:34", "url": "https://files.pythonhosted.org/packages/f9/97/26a30f65fcbd31e0de2d722145682711f6a698cbef11bb5b9719b2e2a730/drf_openapi-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c18c9bd1a246abfef877e11cac8d5748", "sha256": "014c2bbb119961380a9fe98bad3b830de5e656fdee9a31b855c7307df3e8c8cd" }, "downloads": -1, "filename": "drf_openapi-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c18c9bd1a246abfef877e11cac8d5748", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21746, "upload_time": "2017-12-14T19:15:35", "url": "https://files.pythonhosted.org/packages/34/bb/96f1291aabc0ca8a72346c179cdb01e878b4100980c4272c94cb61982892/drf_openapi-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "c53dafed00efeb9fd6bbd00a0473207c", "sha256": "623810cff2118e9dac0ae22c13fcef5e0ae422611d73daffa639038d7a566bce" }, "downloads": -1, "filename": "drf_openapi-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c53dafed00efeb9fd6bbd00a0473207c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16205, "upload_time": "2017-12-20T16:33:40", "url": "https://files.pythonhosted.org/packages/8a/7d/1e8eaac18b86c6a07125827b9fa81c0874848bf12d9d0b8978c72825f694/drf_openapi-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c70810c5d08ded11566c76475079e2d", "sha256": "3f100aa334833f35b5569086fa7df8694d689ea669daa83fc12c6df8e420ed10" }, "downloads": -1, "filename": "drf_openapi-1.2.0.tar.gz", "has_sig": false, "md5_digest": "1c70810c5d08ded11566c76475079e2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22255, "upload_time": "2017-12-20T16:33:41", "url": "https://files.pythonhosted.org/packages/68/28/3e7feae6eb6ac99ce0fd5539dede9e1f5a610d6eda234e59eb58c3cbdb74/drf_openapi-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "c521c470fc8a31eeacad32a05dfdb510", "sha256": "21d28a0ea5b78243ee1b815041f715c1a7e9d60c063cbf9db5e4fa5535361460" }, "downloads": -1, "filename": "drf_openapi-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c521c470fc8a31eeacad32a05dfdb510", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16225, "upload_time": "2018-01-02T15:18:33", "url": "https://files.pythonhosted.org/packages/2e/5d/35c9e1377461a83c798121e8fab3f920478010cd66026afce39a33fe28e7/drf_openapi-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ea15ac803070ea7d298cafd9c0ca1b7", "sha256": "1cd1164ac6262252cb629df4de2c1a3f9a738e608ec9b56f26545d45ed673c1f" }, "downloads": -1, "filename": "drf_openapi-1.3.0.tar.gz", "has_sig": false, "md5_digest": "3ea15ac803070ea7d298cafd9c0ca1b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22272, "upload_time": "2018-01-02T15:18:34", "url": "https://files.pythonhosted.org/packages/d1/62/272f29af7e2bf38fe92897abf57f49c9674b5d3b1f9a1683a953c59b9859/drf_openapi-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c521c470fc8a31eeacad32a05dfdb510", "sha256": "21d28a0ea5b78243ee1b815041f715c1a7e9d60c063cbf9db5e4fa5535361460" }, "downloads": -1, "filename": "drf_openapi-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c521c470fc8a31eeacad32a05dfdb510", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16225, "upload_time": "2018-01-02T15:18:33", "url": "https://files.pythonhosted.org/packages/2e/5d/35c9e1377461a83c798121e8fab3f920478010cd66026afce39a33fe28e7/drf_openapi-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ea15ac803070ea7d298cafd9c0ca1b7", "sha256": "1cd1164ac6262252cb629df4de2c1a3f9a738e608ec9b56f26545d45ed673c1f" }, "downloads": -1, "filename": "drf_openapi-1.3.0.tar.gz", "has_sig": false, "md5_digest": "3ea15ac803070ea7d298cafd9c0ca1b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22272, "upload_time": "2018-01-02T15:18:34", "url": "https://files.pythonhosted.org/packages/d1/62/272f29af7e2bf38fe92897abf57f49c9674b5d3b1f9a1683a953c59b9859/drf_openapi-1.3.0.tar.gz" } ] }