{ "info": { "author": "Mashianov Oleksander", "author_email": "mashianov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Django REST framework auto docs\nAutomated api documentation renderer\n\n### Features:\n\n * optional response_serializer_class, if output serializer is different from input serializer\n * fully-documented functional views\n * tree-like structure\n * Docstrings:\n * markdown\n * preserve space & newlines\n * formatting with nice syntax\n * Fields:\n * different fields for request/response, based on read-/write-only attributes and whether response_serializer_class presented or not\n * choices rendering\n * help_text rendering (to specify SerializerMethodField output, etc)\n * Endpoint properties:\n * filter_backends\n * authentication_classes\n * permission_classes\n * extra url params(GET params)\n\n### What isn't supported yet:\n\n * viewsets\n * possibility to try in browser\n\n\n# Samples\n\n#### Whole structure:\n\n![whole structure](http://joxi.ru/52aBGNI4k3oyA0.jpg)\n\n#### Single node:\n\n![single node](http://joxi.ru/E2ppYWh94VdV2Y.jpg)\n\n#### Choices:\n\n![choices](http://joxi.ru/D2PdaVspB1M423.jpg)\n\n#### Nested items:\n\n![nested items](http://joxi.ru/vAWOkRt1BKY4AW.jpg)\n\n#### Docstring formatting:\n```python\n@format_docstring(request_example, response_example=response_example)\nclass BookReadUpdateHandler(RetrieveUpdateAPIView):\n \"\"\"\n Wow, this magic decorator allows us to:\n 1) Keep clean & short docstring\n 2) Insert additional data in it, like request/response examples\n\n Request: {}\n Response: {response_example}\n \"\"\"\n```\n\n![help text](http://joxi.ru/VrwzKWSO4YekAX.jpg)\n\n\n# Installation\n\nIn virtualenv:\n\n pip install drf_autodocs\n\nIn settings:\n\n INSTALLED_APPS = [\n ...\n 'drf_autodocs',\n ...\n ]\n\nIn your urls:\n\n urlpatterns = [\n ...\n url(r'^', include('drf_autodocs.urls')),\n ]\n\n\nThat's already enough for swagger-like docs,\nresult available on\n\n`localhost:8000/docs/`\n\nIf you want functional views support and some more features, read below.\n\n# Usage\n\n### Tree-like structure\n\nTree-like structure is built from url prefixes. To make your endpoints grouped by some\ncategory, you must include your urls within other url. There are, generally, 2 ways to achieve it:\n\nExample 1:\n\n```python\nuniversity_urlpatterns = [\n url(r'^lecturers/', university_views.LecturersHandler.as_view(), name='lecturers'),\n url(r'^lecturers/(?P\\d+)/$', university_views.LecturerUpdateHandler.as_view(), name='lecturer_read_update'),\n url(r'^universities/', university_views.UniversitiesHandler.as_view(), name='universities'),\n]\n\nurlpatterns = [\n url(r'^library/', include(library_urlpatterns, namespace='library')),\n url(r'^university/', include(university_urlpatterns, namespace='university')),\n]\n```\n\nExample 2:\n```python\nurlpatterns = [\n url(r'^library/', include(library_urlpatterns, namespace='library')),\n url(r'^university/', include([\n url(r'^lecturers/', university_views.LecturersHandler.as_view(), name='lecturers'),\n url(r'^lecturers/(?P\\d+)/$', university_views.LecturerUpdateHandler.as_view(), name='lecturer_read_update'),\n url(r'^universities/', university_views.UniversitiesHandler.as_view(), name='universities')\n ], namespace='university')),\n]\n```\n\n\n### Response serializer class\nSay you have a view like this:\n```python\nclass BookReadUpdateHandler(RetrieveUpdateAPIView):\n serializer_class = BookUpdateSerializer\n queryset = Book.objects.all()\n```\n\nAnd say this serializers' input is different from output:\n```python\nclass BookUpdateSerializer(serializers.ModelSerializer):\n class Meta:\n fields = ('name', 'author')\n model = Book\n\n def to_representation(self, instance):\n return LibrarySerializer(instance.library)\n```\n\nNow to know what return format is, one must make a request.\nThis package simplifies it via:\n\n`response_serializer_class = YourSerializer`\n\nNow your view looks like:\n```python\nclass BookReadUpdateHandler(RetrieveUpdateAPIView):\n \"\"\"\n Shiny and nice docstring, which:\n 1) allows formatting\n 2) `allows markdown`\n \"\"\"\n serializer_class = BookUpdateSerializer\n response_serializer_class = LibrarySerializer\n queryset = Book.objects.all()\n```\n\n\n### Docstring formatting in class-based views\n\n```python\nfrom .request_response_examples import request_example, response_example\nfrom drf_autodocs.decorators import format_docstring\n\n\n@format_docstring(request_example, response_example=response_example)\nclass BookReadUpdateHandler(RetrieveUpdateAPIView):\n \"\"\"\n Wow, this magic decorator allows us to:\n 1) Keep clean & short docstring\n 2) Insert additional data in it, like request/response examples\n\n Request: {}\n Response: {response_example}\n \"\"\"\n serializer_class = BookUpdateSerializer\n response_serializer_class = LibrarySerializer\n queryset = Book.objects.all()\n```\n\n\n### Extra URL(GET) parameters\nPlease think twice before using such parameters, as they might be unneeded.\n\nBut if you really need them, here you go:\n\n```python\nclass LibrariesHandler(ListCreateAPIView):\n \"\"\"\n Shiny and nice docstring, which:\n 1) allows formatting\n 2) `allows markdown`\n \"\"\"\n extra_url_params = (('show_all', 'Bool', 'if True returns all instances and only 5 otherwise'),\n ('some_extra_param', 'Integer', 'Something more to be included there'))\n```\n\nResults in:\n\n![extra_url_params](http://joxi.ru/E2ppYWh9GMzJ2Y.jpg)\n\n\n### Function-based views\n\nFor functional views, decorate them with.\n\n`drf_autodocs.decorators.document_func_view`\n\nNow you can insert into view via kwargs:\n\n * serializer_class\n * response_serializer_class\n * filter_backends\n * authentication_classes\n * permission_classes\n * doc_format_args\n * doc_format_kwargs\n\nNow it should look like:\n```python\nfrom drf_autodocs.decorators import document_func_view\n\nformat_args = ['\"This string\\nwas inserted\"',]\n\n@document_func_view(serializer_class=BookSerializer,\n response_serializer_class=LibrarySerializer,\n doc_format_args=format_args)\n@api_view(['GET', 'POST', 'DELETE'])\ndef hello_world(request):\n \"\"\"\n Works for `functional` views too!\n Yeah, that thing rocks!\n And allows formatting {}\n \"\"\"\n return Response('hello_world response')\n```\n\n### Help text\n\nThis package uses default DRF field attribute `help_text`\nIf you're using `ModelSerializer`, and model field got `help_text` attr, it will be\ntransferred to your serializers' field automatically.\n\nExample:\n\n```python\nfrom rest_framework import serializers\n\nhas_books = serializers.SerializerMethodField(help_text='returns Bool')\n```\n\nNote that specifying help_text on serializers' field overrides the one from model\n\n\n# Customization\nTo change application look & feel, override templates and/or static files.\n\nRoot template is :\n`templates/drf_autodocs/index.html`\n\n\nFor additional parsers(if you want other structure than tree), inherit from\n\n `drf_autodocs.parser.BaseAPIParser`\n\n# Configuration/settings\n\nEndpoint names could use view names or url names, replacing '_' and '-' with ' ' and capitalizing output.\n\nDefault behavior is to use url names:\n\n`url(r'^books/(?P\\d+)/$', library_views.BookReadUpdateHandler.as_view(), name='book_read_update'),`\n\nwill result in:\n\n![url_name](http://joxi.ru/Q2K1WDh4yXnGrj.jpg)\n\nIf you want to use endpoint(view) names instead, do this in settings:\n\n`AUTODOCS_ENDPOINT_NAMES = \"view\"`\n\n\n\n# Supports\n - Python 3\n - Django 1.11+\n - Django Rest Framework 3.7+\n\n\n# Credits\nThanks to [django](http://djangoproject.com), [django-REST](http://www.django-rest-framework.org/) for their awesome work,\nand [drf-docs](https://github.com/manosim/django-rest-framework-docs) for source of inspiration as well as some parts of code.\n\n\nDeveloped with care by Mashianov Oleksander at\n\n[![buddhasoft](http://i63.tinypic.com/2h87nzm.png)](http://buddhasoft.net/)\n\n\nIf you :thumbsup: this, don't forget to :star: it and share with friends.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/iMakedonsky/drf-autodocs", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "drf-autodocs", "package_url": "https://pypi.org/project/drf-autodocs/", "platform": "", "project_url": "https://pypi.org/project/drf-autodocs/", "project_urls": { "Homepage": "https://github.com/iMakedonsky/drf-autodocs" }, "release_url": "https://pypi.org/project/drf-autodocs/0.4.4/", "requires_dist": [ "django (>=1.11)", "markdown (>=2.6.7)", "addict (>=2.0.0)", "djangorestframework (>=3.7)" ], "requires_python": "", "summary": "Extensible auto django rest framework api generator", "version": "0.4.4" }, "last_serial": 3717402, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "033a945c3e92977042f504b20fd41912", "sha256": "8c50f203eca197917ea2fb50512af734b3648f22d9c08e57a2185c3fac640d24" }, "downloads": -1, "filename": "drf_autodocs-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "033a945c3e92977042f504b20fd41912", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14244, "upload_time": "2016-12-28T16:20:49", "url": "https://files.pythonhosted.org/packages/46/a3/ae6a3b3b5bec89a46ac64f68beeb8bab279aa758299719e76a34dbffb40a/drf_autodocs-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ef60510adc47febb40ee800a0a741a2", "sha256": "0631fc2cc141b189918f3e033813478fd5116580468a1dc1a17600e0be41b687" }, "downloads": -1, "filename": "drf_autodocs-0.1.tar.gz", "has_sig": false, "md5_digest": "7ef60510adc47febb40ee800a0a741a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10010, "upload_time": "2016-12-28T16:20:51", "url": "https://files.pythonhosted.org/packages/28/f3/63ac7eeac403381d9b8581b223ee1eabf087bdff5ca7007ccfa1906c60dc/drf_autodocs-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "d7d806e794de0fa5021badef2a60ee30", "sha256": "d35739dc9d60cd01a3853e326666d3f4f5ad66cf534565e9d9b83420756c13a9" }, "downloads": -1, "filename": "drf_autodocs-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d7d806e794de0fa5021badef2a60ee30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14859, "upload_time": "2016-12-29T06:13:16", "url": "https://files.pythonhosted.org/packages/a1/5e/0ca9bef030522a18f4703ef6c1182d9f4add811b4b09bf82da1a5958f34e/drf_autodocs-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dba14255e8993bf581861e139ebc08a5", "sha256": "1e888525eb7a18c5f3de60e155597746eb484da43501b4c7e512f0852c3b8733" }, "downloads": -1, "filename": "drf_autodocs-0.2.tar.gz", "has_sig": false, "md5_digest": "dba14255e8993bf581861e139ebc08a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10489, "upload_time": "2016-12-29T06:13:17", "url": "https://files.pythonhosted.org/packages/38/c5/ee5c4a4f83b7aa4a85258cc0b312cab1e5f5b51f48e3a96530558800d02d/drf_autodocs-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "5477f28cb984a4b756d1ba7ccec27143", "sha256": "b7c280d90087c2c7c1e02cac5fc920346a233480e110b5c218b3f9b2c46e403c" }, "downloads": -1, "filename": "drf_autodocs-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5477f28cb984a4b756d1ba7ccec27143", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14923, "upload_time": "2016-12-29T06:36:53", "url": "https://files.pythonhosted.org/packages/bb/75/98f6e94d6a09de4b337a8a7b7744ea05310531a44a0ef9fc3c116c590069/drf_autodocs-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56d57b826e96261242f93cfbcc6a101c", "sha256": "207bbf2b5152a1bfbe1323f1b4cf7a333ca821000acf9fe5514423bcf3199b7c" }, "downloads": -1, "filename": "drf_autodocs-0.2.1.tar.gz", "has_sig": false, "md5_digest": "56d57b826e96261242f93cfbcc6a101c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10526, "upload_time": "2016-12-29T06:36:55", "url": "https://files.pythonhosted.org/packages/fd/c2/21b118496cfbfc486587d8a08644f85bf38105c15bf6ef1a7d70112e16ba/drf_autodocs-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "1592d19df492c1b7a2abff4cbccad228", "sha256": "5c9f95cc3a5b703bcc40f2f22517a9ab33bc69b4b1d4826bb24962ffadfe3137" }, "downloads": -1, "filename": "drf_autodocs-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1592d19df492c1b7a2abff4cbccad228", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 112138, "upload_time": "2017-01-03T09:20:08", "url": "https://files.pythonhosted.org/packages/df/8e/f7a23c7fb782208d96d2cdb08647468c799a7853a0ee0a5411041acf7511/drf_autodocs-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4a0035d0a3ecb5eefcc6380166cbcd4", "sha256": "c03855177f8b8f5f5aeab22386a0c53b3f2306e7417396aaa8bc3f6e61b93f81" }, "downloads": -1, "filename": "drf_autodocs-0.3.tar.gz", "has_sig": false, "md5_digest": "e4a0035d0a3ecb5eefcc6380166cbcd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106495, "upload_time": "2017-01-03T09:20:09", "url": "https://files.pythonhosted.org/packages/fd/02/0a05e677523686762b84a2f58b8c29ec4a164ecd3fb7d5057b3ea4a5a153/drf_autodocs-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5f854755d04275546d1b96e7bcca5a71", "sha256": "1ccebe3452773d917a2093d564301b53a0a85382bff59e9391996ca3726968a8" }, "downloads": -1, "filename": "drf_autodocs-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5f854755d04275546d1b96e7bcca5a71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 113899, "upload_time": "2017-01-03T11:57:18", "url": "https://files.pythonhosted.org/packages/a7/5f/a504e7ccc48974b30be69f966ceff1525b9d344ccb7d32f1fdd059ee2558/drf_autodocs-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a6d112e00974b73c2b206fc0061b218", "sha256": "cc2ee345aa248715116c696eee023cd0ba4083a9763f7785cb3de168b6234c45" }, "downloads": -1, "filename": "drf_autodocs-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2a6d112e00974b73c2b206fc0061b218", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107592, "upload_time": "2017-01-03T11:57:20", "url": "https://files.pythonhosted.org/packages/dc/b6/491b3cf136ad3a80ae41824f4bb7f61c555e1f4743029bfa62bc4a9272e2/drf_autodocs-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "796a9e729c3bb3a9c6616f19efa7a3c5", "sha256": "ad70f0a1720c671d0ad8b2074e5f403526c71bca5eb229f02049970675f0ba3b" }, "downloads": -1, "filename": "drf_autodocs-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "796a9e729c3bb3a9c6616f19efa7a3c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 113903, "upload_time": "2017-01-03T12:00:15", "url": "https://files.pythonhosted.org/packages/09/5a/7801028cef4b3ffb9c025b27306b39344240748ed1842c14aeb6fc556904/drf_autodocs-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7472fb3e14baefc3757a7c6797a4cd3e", "sha256": "cff3a3c374ec3cdbc621206c0a68e9b3ced5c3bee473469ca79416cb7ab25130" }, "downloads": -1, "filename": "drf_autodocs-0.3.2.tar.gz", "has_sig": false, "md5_digest": "7472fb3e14baefc3757a7c6797a4cd3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107584, "upload_time": "2017-01-03T12:00:18", "url": "https://files.pythonhosted.org/packages/4e/94/2ac0294e051b7e0cc9968ff1f80e4505ade5465cc89fba196199a9d9d16f/drf_autodocs-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "33fc86dac6de93b19f7c1ce3e47cbf27", "sha256": "816b190aa5442287c87c4d9b6e5fba1670841ae46bcedf93b379233505032d4a" }, "downloads": -1, "filename": "drf_autodocs-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "33fc86dac6de93b19f7c1ce3e47cbf27", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 113943, "upload_time": "2017-01-03T12:10:09", "url": "https://files.pythonhosted.org/packages/54/d1/0c6fee5927854ae4eef56cf97a300d047605374484a7b2d37a95aa8fe870/drf_autodocs-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17b679ebb17732cbd83e577f7f147447", "sha256": "3ca8287afe17afd513bb3e2c96adffdfb45fc24d9c5b181af964ef7200cd5fed" }, "downloads": -1, "filename": "drf_autodocs-0.3.3.tar.gz", "has_sig": false, "md5_digest": "17b679ebb17732cbd83e577f7f147447", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107617, "upload_time": "2017-01-03T12:10:11", "url": "https://files.pythonhosted.org/packages/0a/17/77b67a35fa1208e176b7987994a938664feae163461151f27021ec01afc2/drf_autodocs-0.3.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "3676f4fd398beb4522a2a1b14c0c1b1c", "sha256": "a7823e504dd625771f7e680abbad6cb394384dd6c257633de30b28f05c70bc64" }, "downloads": -1, "filename": "drf_autodocs-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3676f4fd398beb4522a2a1b14c0c1b1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 114502, "upload_time": "2017-01-13T13:47:52", "url": "https://files.pythonhosted.org/packages/16/c5/79ca3e6eaca33eff92586ffcc662e22963d5bb1c50b4b9afb4169c7d5266/drf_autodocs-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33caf47dc13c8287b881167e623efa2b", "sha256": "c442e04b6fa2db6706c0f53a53080b037a85b0f15f368c9e2a34cffa37b99714" }, "downloads": -1, "filename": "drf_autodocs-0.4.tar.gz", "has_sig": false, "md5_digest": "33caf47dc13c8287b881167e623efa2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108083, "upload_time": "2017-01-13T13:47:56", "url": "https://files.pythonhosted.org/packages/f6/de/0551ed6acd64985593e6c759b5d6e69b86a08108a5f16aa1a82149ed7d75/drf_autodocs-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "bcc0132501de45cdc53c7cf50c207430", "sha256": "1b0fd5251a4dc658ceb10e1dec4296f810e8ff25f564de9fa579042c84740f4a" }, "downloads": -1, "filename": "drf_autodocs-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bcc0132501de45cdc53c7cf50c207430", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 114588, "upload_time": "2017-01-13T14:21:08", "url": "https://files.pythonhosted.org/packages/a5/d3/3620cb8f0f3a3e4c66df1a096b1ca62f7d109db6f8d13e739a2447205ac3/drf_autodocs-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b2b9342ac540710e97ea2c7f045dc39", "sha256": "a3e4c3bc866229c09286f4b965fda66ea75ce0401b0816774c1ff0b6d3219b75" }, "downloads": -1, "filename": "drf_autodocs-0.4.1.tar.gz", "has_sig": false, "md5_digest": "7b2b9342ac540710e97ea2c7f045dc39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108146, "upload_time": "2017-01-13T14:21:10", "url": "https://files.pythonhosted.org/packages/64/1a/574a3c327de71bb0db0d6f576a42eaae4a63a21633eb16b4d018a956f42d/drf_autodocs-0.4.1.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "bf55b78996d7d050cc57f7aea526496f", "sha256": "859488746c6065091d4987218629bd23c9dbb404915e86ca467efe6d0074e2b9" }, "downloads": -1, "filename": "drf_autodocs-0.4.3-py2-none-any.whl", "has_sig": false, "md5_digest": "bf55b78996d7d050cc57f7aea526496f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 114694, "upload_time": "2017-02-27T10:49:33", "url": "https://files.pythonhosted.org/packages/83/71/71e7fdfac4f36ce5ebfb8588107f3bad5ce380bcc6ef9f2b9cc7f023a993/drf_autodocs-0.4.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5b60c35b668aa9d6807ae4479fc93d2", "sha256": "453abc6f51eeed435eefd0bba35470c1a852db58d911a81e1fdbb6ee3832428b" }, "downloads": -1, "filename": "drf_autodocs-0.4.3.tar.gz", "has_sig": false, "md5_digest": "c5b60c35b668aa9d6807ae4479fc93d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110075, "upload_time": "2017-02-27T10:49:35", "url": "https://files.pythonhosted.org/packages/91/b8/1dfc419347f8ae9bb212ed6416ed79f50bed9ff6f62df33a53855cee0440/drf_autodocs-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "1e186d705b68c606e9171d43dc9c2c64", "sha256": "dc7cd3d1db3a6f266050713918c8816d683e092b5bf0ba8e31ea48a017bc1d32" }, "downloads": -1, "filename": "drf_autodocs-0.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1e186d705b68c606e9171d43dc9c2c64", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 114742, "upload_time": "2018-03-29T15:45:07", "url": "https://files.pythonhosted.org/packages/ae/40/b04217ed5206ac264af6c737a354c597698eca7a00d3f536efd281c70505/drf_autodocs-0.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd59746f53da9940d0541b54266847ea", "sha256": "da81c37b5600ee7fd0ad181f7e6b310a7b77e25ae2c238a38875226edcaf900b" }, "downloads": -1, "filename": "drf_autodocs-0.4.4.tar.gz", "has_sig": false, "md5_digest": "cd59746f53da9940d0541b54266847ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110834, "upload_time": "2018-03-29T15:45:09", "url": "https://files.pythonhosted.org/packages/d3/68/b6af8ba0313fa7f434056d69e8f967eacba1b923d289be0434a3407570ed/drf_autodocs-0.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1e186d705b68c606e9171d43dc9c2c64", "sha256": "dc7cd3d1db3a6f266050713918c8816d683e092b5bf0ba8e31ea48a017bc1d32" }, "downloads": -1, "filename": "drf_autodocs-0.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1e186d705b68c606e9171d43dc9c2c64", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 114742, "upload_time": "2018-03-29T15:45:07", "url": "https://files.pythonhosted.org/packages/ae/40/b04217ed5206ac264af6c737a354c597698eca7a00d3f536efd281c70505/drf_autodocs-0.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd59746f53da9940d0541b54266847ea", "sha256": "da81c37b5600ee7fd0ad181f7e6b310a7b77e25ae2c238a38875226edcaf900b" }, "downloads": -1, "filename": "drf_autodocs-0.4.4.tar.gz", "has_sig": false, "md5_digest": "cd59746f53da9940d0541b54266847ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110834, "upload_time": "2018-03-29T15:45:09", "url": "https://files.pythonhosted.org/packages/d3/68/b6af8ba0313fa7f434056d69e8f967eacba1b923d289be0434a3407570ed/drf_autodocs-0.4.4.tar.gz" } ] }