{ "info": { "author": "The Python Packaging Authority", "author_email": "agonzalez.emilio@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Documentation" ], "description": "Django restframework schema\n===========================\n\nThis package is a schema for django restframework.\n\nHow to use\n==========\n\nInstallation\n------------\n\n.. code:: bash\n\n $ pip install django-rest-coreapi-schema\n\n.. code:: bash\n\n $ pip install -e git+https://github.com/emilioag/django_rest_coreapi_schema.git#egg=django_rest_coreapi_schema\n\nConfiguration\n-------------\n\ndjango settings\n~~~~~~~~~~~~~~~\n\nAdd the next configuration in your settings.py file.\n\n.. code:: python\n\n REST_FRAMEWORK = {\n 'DEFAULT_SCHEMA_CLASS': 'django_rest_coreapi_schema.schema.CoreAPIAutoSchema',\n }\n\nRestframework docs (urls)\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdd to your urls.py the restframework docs\n\n.. code:: python\n\n from django.conf.urls import url\n from rest_framework.documentation import include_docs_urls\n\n urlpatterns = [\n url(r'^docs/', include_docs_urls(title='My API title', description='API description', public=False)),\n ]\n\nCreate your serializers\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from rest_framework import serializers\n\n\n class UserSerializer(serializers.Serializer):\n email = serializers.CharField(\n required=False,\n help_text=\"User email\")\n address = serializers.CharField(\n required=False,\n help_text=\"User address\")\n\n\n class FilterSerializer(serializers.Serializer):\n order = serializers.ChoiceField(\n required=False,\n choices=[(\"asc\", \"Asc\"), (\"desc\", \"desc\")],\n help_text=\"Order\")\n username = serializers.CharField(\n required=False,\n help_text=\"Username pattern\")\n\n\n class PathSerializer(serializers.Serializer):\n username = serializers.CharField(\n required=True,\n help_text=\"Username\")\n\nCreate your pagination\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from rest_framework.pagination import PageNumberPagination\n\n\n class LargeResultsSetPagination(PageNumberPagination):\n page_size = 1000\n page_size_query_param = 'page_size'\n max_page_size = 10000\n\nCreate your view\n----------------\n\nDocumenting path variables\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou have to use the class variable: ``queryset``\n\n.. code:: python\n\n from django_rest_coreapi_schema.views import DocumentedBaseView\n\n class UserView(DocumentedBaseView):\n queryset = PathSerializer\n\nUrl args\n~~~~~~~~\n\nYou have to use the class variables: ``filter_backends`` and\n``filter_fields``\n\n- **filter\\_backends** is a list of serializers which contains all the\n possible url args.\n- **filter\\_fields** is a list of arg names that will be appear in the\n coreapi documentation.\n\n.. code:: python\n\n from django_rest_coreapi_schema.views import DocumentedBaseView\n\n class UserListView(DocumentedBaseView):\n filter_backends = [FilterSerializer]\n filter_fields = ('order', 'username')\n\nBody\n~~~~\n\nHttp put, post, etc. body.\n\n.. code:: python\n\n from django_rest_coreapi_schema.views import DocumentedBaseView\n\n class UserView(DocumentedBaseView):\n body_serializer_class = UserSerializer\n\nPagination (for large results)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from django_rest_coreapi_schema.views import DocumentedBaseView\n\n class UserListView(DocumentedBaseView):\n pagination_class = LargeResultsSetPagination\n\nYou can see a whole example in examples/restAPI folder inside this\nrepository.\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/emilioag/django_rest_coreapi_schema", "keywords": "django restframework schema coreapi swagger", "license": "", "maintainer": "", "maintainer_email": "", "name": "django-rest-coreapi-schema", "package_url": "https://pypi.org/project/django-rest-coreapi-schema/", "platform": "", "project_url": "https://pypi.org/project/django-rest-coreapi-schema/", "project_urls": { "Homepage": "https://github.com/emilioag/django_rest_coreapi_schema" }, "release_url": "https://pypi.org/project/django-rest-coreapi-schema/0.1.2/", "requires_dist": [ "Django (==2.0)", "Markdown (==2.6.10)", "Pygments (==2.2.0)", "coreapi (==2.3.3)", "djangorestframework (==3.7.7)", "check-manifest; extra == 'dev'", "coverage; extra == 'test'" ], "requires_python": "", "summary": "Django restframework custom schema", "version": "0.1.2" }, "last_serial": 3456829, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "f3fc14031e677c5a0f1634d935096b95", "sha256": "ee3ab944cf45d806a737d5d3467f5b206ef2caf48b93adde1c65334f11dc79f7" }, "downloads": -1, "filename": "django_rest_coreapi_schema-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f3fc14031e677c5a0f1634d935096b95", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14347, "upload_time": "2018-01-02T17:03:29", "url": "https://files.pythonhosted.org/packages/28/0f/c29806b0f67d7699ceccde62110f0225571fc72e7c6abedeca08c1cff869/django_rest_coreapi_schema-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7bee0a7d5fdcd44dc8f387f3391be073", "sha256": "affd1174b6149c60db72f0bde93ce65f07579782716ab9284369d6b426b85759" }, "downloads": -1, "filename": "django_rest_coreapi_schema-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7bee0a7d5fdcd44dc8f387f3391be073", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7464, "upload_time": "2018-01-02T17:03:31", "url": "https://files.pythonhosted.org/packages/c5/84/5a3020fa1477e3435e0ce8c33985db63192da4b35f3ca5d982f00b8c298d/django_rest_coreapi_schema-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "793a2b9390de9686fefdfc7d78c02f92", "sha256": "8c17575e48d43eda2d2817bf8848262e1317c11eb97b7efa0886b574fee69982" }, "downloads": -1, "filename": "django_rest_coreapi_schema-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "793a2b9390de9686fefdfc7d78c02f92", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14436, "upload_time": "2018-01-02T17:04:31", "url": "https://files.pythonhosted.org/packages/40/91/488d4bf0b437bceee5163bb2387c1a317869953dfaf59573d4a849db7f6a/django_rest_coreapi_schema-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d73285155e1d4fde13f134bf9920494", "sha256": "caf2cdbfb93cdc456b7744dc06ad8a62fc66de42f0931e96b0f988d33d697a84" }, "downloads": -1, "filename": "django_rest_coreapi_schema-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4d73285155e1d4fde13f134bf9920494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7605, "upload_time": "2018-01-02T17:04:34", "url": "https://files.pythonhosted.org/packages/d1/7f/d14d9df74df988284d70ca260f4c7512bf0f08e44836b63138b6cb2f937e/django_rest_coreapi_schema-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "793a2b9390de9686fefdfc7d78c02f92", "sha256": "8c17575e48d43eda2d2817bf8848262e1317c11eb97b7efa0886b574fee69982" }, "downloads": -1, "filename": "django_rest_coreapi_schema-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "793a2b9390de9686fefdfc7d78c02f92", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14436, "upload_time": "2018-01-02T17:04:31", "url": "https://files.pythonhosted.org/packages/40/91/488d4bf0b437bceee5163bb2387c1a317869953dfaf59573d4a849db7f6a/django_rest_coreapi_schema-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d73285155e1d4fde13f134bf9920494", "sha256": "caf2cdbfb93cdc456b7744dc06ad8a62fc66de42f0931e96b0f988d33d697a84" }, "downloads": -1, "filename": "django_rest_coreapi_schema-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4d73285155e1d4fde13f134bf9920494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7605, "upload_time": "2018-01-02T17:04:34", "url": "https://files.pythonhosted.org/packages/d1/7f/d14d9df74df988284d70ca260f4c7512bf0f08e44836b63138b6cb2f937e/django_rest_coreapi_schema-0.1.2.tar.gz" } ] }