Skip to content

Easily document your Sanic API with a UI

License

Notifications You must be signed in to change notification settings

astagi/sanic-openapi

 
 

Repository files navigation

Sanic OpenAPI

Build Status PyPI PyPI Code style: black codecov

Give your Sanic API a UI and OpenAPI documentation, all for the price of free!

Example Swagger UI

Sponsor

Try CodeStream

Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.

Learn More

Thank you to our sponsor. Check out open collective to learn more about helping to fund Sanic.

Installation

pip install sanic-openapi

Add Swagger UI with the OpenAPI spec:

from sanic_openapi import swagger_blueprint

app.blueprint(swagger_blueprint)

You'll now have a Swagger UI at the URL /swagger/ and an OpenAPI 2.0 spec at /swagger/swagger.json. Your routes will be automatically categorized by their blueprints.

Example

Here is an example to use Sanic-OpenAPI:

from sanic import Sanic
from sanic.response import json
from sanic_openapi import swagger_blueprint

app = Sanic(name="AwesomeApi")
app.blueprint(swagger_blueprint)


@app.route("/")
async def test(request):
    return json({"hello": "world"})


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000)

And you can get your Swagger document at http://localhost:8000/swagger like this:

Documentation

Please check the documentation on Readthedocs

Contribution

Any contribution is welcome. If you don't know how to getting started, please check issues first and check our Contributing Guide to start you contribution.

About

Easily document your Sanic API with a UI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 95.1%
  • HTML 4.7%
  • Dockerfile 0.2%