{ "info": { "author": "Sanic Community", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Web Environment", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Sanic OpenAPI\n\n[![Build Status](https://travis-ci.org/huge-success/sanic-openapi.svg?branch=master)](https://travis-ci.org/huge-success/sanic-openapi)\n[![PyPI](https://img.shields.io/pypi/v/sanic-openapi.svg)](https://pypi.python.org/pypi/sanic-openapi/)\n[![PyPI](https://img.shields.io/pypi/pyversions/sanic-openapi.svg)](https://pypi.python.org/pypi/sanic-openapi/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)\n[![codecov](https://codecov.io/gh/huge-success/sanic-openapi/branch/master/graph/badge.svg)](https://codecov.io/gh/huge-success/sanic-openapi)\n\nGive your Sanic API a UI and OpenAPI documentation, all for the price of free!\n\n![Example Swagger UI](docs/_static/images/code-to-ui.png?raw=true \"Swagger UI\")\n\n## Installation\n\n```shell\npip install sanic-openapi\n```\n\nAdd Swagger UI with the OpenAPI spec:\n\n```python\nfrom sanic_openapi import swagger_blueprint\n\napp.blueprint(swagger_blueprint)\n```\n\nYou'll now have a Swagger UI at the URL `/swagger/` and an OpenAPI 2.0 spec at `/swagger/swagger.json`.\nYour routes will be automatically categorized by their blueprints.\n\n## Example\n\nHere is an example to use Sanic-OpenAPI:\n\n```python\nfrom sanic import Sanic\nfrom sanic.response import json\nfrom sanic_openapi import swagger_blueprint\n\napp = Sanic()\napp.blueprint(swagger_blueprint)\n\n\n@app.route(\"/\")\nasync def test(request):\n return json({\"hello\": \"world\"})\n\n\nif __name__ == \"__main__\":\n app.run(host=\"0.0.0.0\", port=8000)\n\n```\n\nAnd you can get your Swagger document at like this:\n![](docs/_static/images/hello_world_example.png)\n\n## Documentation\n\nPlease check the documentation on [Readthedocs](https://sanic-openapi.readthedocs.io)\n\n## Contribution\n\nAny contribution is welcome. If you don't know how to getting started, please check issues first and check our [Contributing Guide](CONTRIBUTING.md) to start you contribution.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/channelcat/sanic-openapi/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sanic-openapi", "package_url": "https://pypi.org/project/sanic-openapi/", "platform": "any", "project_url": "https://pypi.org/project/sanic-openapi/", "project_urls": { "Homepage": "http://github.com/channelcat/sanic-openapi/" }, "release_url": "https://pypi.org/project/sanic-openapi/0.6.0/", "requires_dist": null, "requires_python": "", "summary": "Easily document your Sanic API with a UI.", "version": "0.6.0" }, "last_serial": 5663682, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "d019f0ec0d0653e2512ce85d8afdc36c", "sha256": "1fc7246ccb61cc3515cc9497abc582923eab1b26b702d4388f8a9733b0f5a2e3" }, "downloads": -1, "filename": "sanic-openapi-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d019f0ec0d0653e2512ce85d8afdc36c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1026032, "upload_time": "2017-01-30T10:12:00", "url": "https://files.pythonhosted.org/packages/e1/cd/71a0aa915d25fe1bc4c47a9170da9bc593ab9b3ca8f21bf880dab13ebf03/sanic-openapi-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a11e9d1795f226f2d903584c1104a234", "sha256": "cac1b1cbbc48e825d2667080b7de37bd98f4fc91f74fa97bdd2652041f58dfeb" }, "downloads": -1, "filename": "sanic-openapi-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a11e9d1795f226f2d903584c1104a234", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 843883, "upload_time": "2017-01-30T10:20:20", "url": "https://files.pythonhosted.org/packages/8e/1f/58e5a62031233b71381461ce50e7deccf33a4bbff27893e1d2e77e26c44e/sanic-openapi-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "605d34a420d456aa551703e1647e9213", "sha256": "bfd6254f69db123b897b5b0e4b96d3a8610332651b35f93a64028fdd6f552bec" }, "downloads": -1, "filename": "sanic-openapi-0.1.3.tar.gz", "has_sig": false, "md5_digest": "605d34a420d456aa551703e1647e9213", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 843862, "upload_time": "2017-01-30T11:12:36", "url": "https://files.pythonhosted.org/packages/3b/8b/5a31a64f3890b4eca8158250aef2e3d17e7e1243f545063394f21a68de9d/sanic-openapi-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "2077cca7b358538637e2363bf8660df4", "sha256": "aafc377ecc86e94e21b6eaab4e22b008275e7f04e1c140fad5f27137faf3c3a3" }, "downloads": -1, "filename": "sanic-openapi-0.1.4.tar.gz", "has_sig": false, "md5_digest": "2077cca7b358538637e2363bf8660df4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1023935, "upload_time": "2017-01-30T21:55:10", "url": "https://files.pythonhosted.org/packages/35/ea/46aebcd8ba029933aa6d89fd88989b67362331e37b8714b47eb2db92c093/sanic-openapi-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "6d161d1d82203dad566e64cf0f5d86cb", "sha256": "39a4b38ddf2c9cf5777d5e772b9c639fd81c422234598861f1312287edbbf331" }, "downloads": -1, "filename": "sanic-openapi-0.1.5.tar.gz", "has_sig": false, "md5_digest": "6d161d1d82203dad566e64cf0f5d86cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1023934, "upload_time": "2017-01-30T23:04:25", "url": "https://files.pythonhosted.org/packages/b9/c9/983165655420f562d16fd055f714dcad1bcfa2b45187e2364fb0be0ccab6/sanic-openapi-0.1.5.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "1a9dc4388d9e2a5803e7ca97a8403ad1", "sha256": "227931981231ab7677c875e3c87d6baa08bc3c2f0b144ebe6a1d05dd09d609bd" }, "downloads": -1, "filename": "sanic-openapi-0.1.7.tar.gz", "has_sig": false, "md5_digest": "1a9dc4388d9e2a5803e7ca97a8403ad1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 398848, "upload_time": "2017-04-07T02:10:04", "url": "https://files.pythonhosted.org/packages/de/27/6fe39340fdd2915f1c29c24976f59cea264a5d09494b75435335d580c50d/sanic-openapi-0.1.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "88f5382b8c26224581c40980f552ae49", "sha256": "ff597d2148a003b822611b1cd45a4881d3c31e28e2a1924f83b682a78f510217" }, "downloads": -1, "filename": "sanic-openapi-0.2.0.tar.gz", "has_sig": false, "md5_digest": "88f5382b8c26224581c40980f552ae49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 398893, "upload_time": "2017-04-07T09:45:50", "url": "https://files.pythonhosted.org/packages/ba/9e/1db0a74716095c0d9bea3ff6c82919e7fcd6c8521d502186b5aaf801adfd/sanic-openapi-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2d83bb946b637570e267565babb13c98", "sha256": "27a1f1b4aea994e82e04ebb297727b646ce49191296ab2e3e62fbb83d92ffda6" }, "downloads": -1, "filename": "sanic-openapi-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2d83bb946b637570e267565babb13c98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 398884, "upload_time": "2017-04-07T09:56:01", "url": "https://files.pythonhosted.org/packages/a5/6c/835dbbb8346fe22a824ce96a0bf58b7729c1e4a0dd6d13673cf61c2b00ed/sanic-openapi-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "655944f2a004e17c2eb5e47fcf9db6c7", "sha256": "9a73fa6d6d4e3f20577133ecd6d36cb90a05fe4b7d7224e0422497a3766e2530" }, "downloads": -1, "filename": "sanic-openapi-0.3.0.tar.gz", "has_sig": false, "md5_digest": "655944f2a004e17c2eb5e47fcf9db6c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 398989, "upload_time": "2017-08-27T06:54:45", "url": "https://files.pythonhosted.org/packages/cc/2c/2e528a938283f2c54b47e485df1cdd48f0a5ee4c49c563e7c128603f6ac5/sanic-openapi-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f95d3d8edeb3a341b6d80dbe2022dbb1", "sha256": "76633ed35b558fa5a013efc27455dde801b3c90dd8649ef6ed8a868008807ab1" }, "downloads": -1, "filename": "sanic-openapi-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f95d3d8edeb3a341b6d80dbe2022dbb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 399081, "upload_time": "2017-09-05T07:38:26", "url": "https://files.pythonhosted.org/packages/1b/2a/849bdf5a87942f76dc06e14c0c87e0ccffcfe398917235d32d2c0cbd515d/sanic-openapi-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "ac0d34f148b5c08861d4bae2b1ada4a8", "sha256": "7c84b001b7fac5e11d15fd6e0d07ae1b5ed03022b75f7a7fc287233b00eef6d1" }, "downloads": -1, "filename": "sanic_openapi-0.5.0-py2-none-any.whl", "has_sig": false, "md5_digest": "ac0d34f148b5c08861d4bae2b1ada4a8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 2337391, "upload_time": "2019-05-05T12:11:01", "url": "https://files.pythonhosted.org/packages/dd/fb/4465163b21fee96e63cdc6094bde224084aeb3b8763a1a831edfd542bd98/sanic_openapi-0.5.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60d9ed92cef5e52c9760addf34cbec22", "sha256": "d054070c3f990301dc050e4f69ac45b97a513061bf7bebb50fe8df4223c2ada4" }, "downloads": -1, "filename": "sanic-openapi-0.5.0.tar.gz", "has_sig": false, "md5_digest": "60d9ed92cef5e52c9760addf34cbec22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4161168, "upload_time": "2019-03-27T18:38:31", "url": "https://files.pythonhosted.org/packages/9c/e0/c586e9e135774814485c7210a7f78853b43bc26d8617961dbc46db03a328/sanic-openapi-0.5.0.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "d9b25dc554328df7ee826fb4c95315c8", "sha256": "8f411b3bf56b2b61902850bcdb7d751e8d1a28c885a58798e35d8aef4a6e8077" }, "downloads": -1, "filename": "sanic-openapi-0.5.2.tar.gz", "has_sig": false, "md5_digest": "d9b25dc554328df7ee826fb4c95315c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2316600, "upload_time": "2019-05-05T12:16:01", "url": "https://files.pythonhosted.org/packages/f3/1e/1a5dc416c7ac3f19eb193bc35c25c7b9d100bc81f1bdfb4d12bbda371477/sanic-openapi-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "74cfb8dc0d0ec1c18d1ca56665f2fc04", "sha256": "7768ef350be580aa7d145beb5c8125bd5c1799a3269e520b421d2dd39f477a31" }, "downloads": -1, "filename": "sanic-openapi-0.5.3.tar.gz", "has_sig": false, "md5_digest": "74cfb8dc0d0ec1c18d1ca56665f2fc04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2316603, "upload_time": "2019-05-05T12:20:44", "url": "https://files.pythonhosted.org/packages/d1/78/1253dc3d10e09d113bd28a28a5f570dab04ee38fb70a9a87b98db2673c49/sanic-openapi-0.5.3.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "9208c9178b5bde42565eb49e7065734c", "sha256": "5f231835d2138873198d258fdb4f6d198235e53e7ad375ba5d070e7a368c49d0" }, "downloads": -1, "filename": "sanic-openapi-0.6.0.tar.gz", "has_sig": false, "md5_digest": "9208c9178b5bde42565eb49e7065734c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2321147, "upload_time": "2019-08-12T01:50:07", "url": "https://files.pythonhosted.org/packages/1b/d5/620917c5e0083679c53435720d5518f1d0a6785093551ea7564fc57d12de/sanic-openapi-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9208c9178b5bde42565eb49e7065734c", "sha256": "5f231835d2138873198d258fdb4f6d198235e53e7ad375ba5d070e7a368c49d0" }, "downloads": -1, "filename": "sanic-openapi-0.6.0.tar.gz", "has_sig": false, "md5_digest": "9208c9178b5bde42565eb49e7065734c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2321147, "upload_time": "2019-08-12T01:50:07", "url": "https://files.pythonhosted.org/packages/1b/d5/620917c5e0083679c53435720d5518f1d0a6785093551ea7564fc57d12de/sanic-openapi-0.6.0.tar.gz" } ] }