Skip to content

Swagger UI for Python web framework, such Tornado, Flask and Sanic.

License

Notifications You must be signed in to change notification settings

john-pope/swagger-ui-py

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

swagger-ui-py

Swagger UI for Python web framework, such Tornado, Flask, Quart, aiohttp, Sanic and Falcon.

Only support Python3.

Supported

  • tornado
  • flask
  • sanic
  • aiohttp
  • quart
  • starlette
  • falcon
  • bottle

Usage

  • Install

    pip3 install swagger-ui-py
  • Code

    Using the local config file

    from swagger_ui import api_doc
    api_doc(app, config_path='./config/test.yaml', url_prefix='/api/doc', title='API doc')

    Using config url, but need to suport CORS

    api_doc(app, config_url='https://petstore.swagger.io/v2/swagger.json', url_prefix='/api/doc', title='API doc')

    And suport config file editor

    api_doc(app, config_path='./config/test.yaml', editor=True)

    And keep the old way

    # for Tornado
    from swagger_ui import tornado_api_doc
    tornado_api_doc(app, config_path='./conf/test.yaml', url_prefix='/api/doc', title='API doc')
    
    # for Sanic
    from swagger_ui import sanic_api_doc
    sanic_api_doc(app, config_path='./conf/test.yaml', url_prefix='/api/doc', title='API doc')
    
    # for Flask
    from swagger_ui import flask_api_doc
    flask_api_doc(app, config_path='./conf/test.yaml', url_prefix='/api/doc', title='API doc')
    
    # for Quart
    from swagger_ui import quart_api_doc
    quart_api_doc(app, config_path='./conf/test.yaml', url_prefix='/api/doc', title='API doc')
    
    # for aiohttp
    from swagger_ui import aiohttp_api_doc
    aiohttp_api_doc(app, config_path='./conf/test.yaml', url_prefix='/api/doc', title='API doc')
    
    # for Falcon
    from swagger_ui import falcon_api_doc
    falcon_api_doc(app, config_path='./conf/test.yaml', url_prefix='/api/doc', title='API doc')
  • Edit Swagger config file (JSON or YAML)

    Please see https://swagger.io/resources/open-api/.

  • Access

    Open http://<host>:<port>/api/doc/editor, you can edit api doc config file.

    Open http://<host>:<port>/api/doc view api doc.

Swagger UI

Swagger UI version is 3.25.1. see https://github.com/swagger-api/swagger-ui.

Swagger Editor

Swagger Editor version is 3.8.1. see https://github.com/swagger-api/swagger-editor.

Update

You can update swagger ui and swagger editor version with

cd swagger-ui-py/tools
python update.py ui
# or
python update.py editor

About

Swagger UI for Python web framework, such Tornado, Flask and Sanic.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 70.6%
  • HTML 29.4%