Skip to content

Repository files navigation

swagger_ui_bundle

This package contains the static files for swagger-ui as a python package.

Basic configuration options are templated with the Jinja2 templating language.

This package is intended to be webserver-agnostic, so it only includes the static files, and some very basic configuration.

Getting Started

You can import the swagger_ui_path from the swagger_ui_bundle package like so:

fromswagger_ui_bundleimportswagger_ui_path

You can easily serve up this directory as all static files to get the default swagger-ui distribution. Here's an example in flask:

fromswagger_ui_bundleimportswagger_ui_pathfromflaskimportFlask, Blueprint, send_from_directory, render_templateswagger_bp=Blueprint(
'swagger_ui',
__name__,
static_url_path='',
static_folder=swagger_ui_path,
template_folder=swagger_ui_path
)
app=Flask(__name__, static_url_path='')
app.register_blueprint(swagger_bp, url_prefix='/ui')
if__name__=="__main__":
app.run()

You may wish to override some of the configuration variables. Included is a jinaj2 templated file where you can modify these parameters. You can add another route to render this template with your desired configuration like so:

SWAGGER_UI_CONFIG= {
"openapi_spec_url": "https://petstore.swagger.io/v2/swagger.json"
}
@swagger_bp.route('/')defswagger_ui_index():
returnrender_template('index.j2', **SWAGGER_UI_CONFIG)

Have a look at example.py for a complete server for the Flask webserver.

License

Since this is just repackaging swagger-ui releases, the license comes from the swagger ui project (https://github.com/swagger-api/swagger-ui).

All vendored code is published under the Apache 2.0 License.

About

bundled swagger-ui pip package

Resources

Stars

21 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages