https://github.com/spec-first/swagger_ui_bundle
bundled swagger-ui pip package
https://github.com/spec-first/swagger_ui_bundle
Last synced: about 2 months ago
JSON representation
bundled swagger-ui pip package
- Host: GitHub
- URL: https://github.com/spec-first/swagger_ui_bundle
- Owner: spec-first
- License: apache-2.0
- Created: 2018-06-21T02:32:29.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2025-09-04T15:43:41.000Z (8 months ago)
- Last Synced: 2026-03-12T02:05:50.539Z (2 months ago)
- Language: Python
- Size: 13.5 MB
- Stars: 21
- Watchers: 2
- Forks: 24
- Open Issues: 5
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
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:
.. code-block:: python
from swagger_ui_bundle import swagger_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:
.. code-block:: python
from swagger_ui_bundle import swagger_ui_path
from flask import Flask, Blueprint, send_from_directory, render_template
swagger_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:
.. code-block:: python
SWAGGER_UI_CONFIG = {
"openapi_spec_url": "https://petstore.swagger.io/v2/swagger.json"
}
@swagger_bp.route('/')
def swagger_ui_index():
return render_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.