Skip to main content

Provides the swaggerui directive for reST files to build a driven by Swagger-UI interactive panel presenting your OpenAPI specification document.


Sphinx Directive swaggerui

Installation

$ pip install sphinxcontrib-swaggerui

Configuration

In your project conf.py, add the installed extension:

extensions = [...,
    'sphinxcontrib.swaggerui',
    ...]

The directive also implies that you use the static content in the _static/ folder and this is configured as:

html_static_path = ['_static']

Directive in reST Files

Use the following sample configuration when testing the directive for the first time:

.. swaggerui:: ../_static/swaggerui/petstore.yaml                                 # *) Required
   :url: https://unpkg.com/swagger-ui-dist@3/swagger-ui-bundle.js                 # *) Required
   :css: ../_static/swaggerui/swagger-ui.css                                      # *) Required
   :script: https://unpkg.com/swagger-ui-dist@3/swagger-ui-standalone-preset.js   # Optional
   :filter: pets                                                                   # Optional

The attribute (for example, ../_static/swagger/petstore.yaml) refers to your local YAML or JSON file in the OpenAPI format. The path must be relative to the document containing this directive.

The directive uses the following options:

  • url refers to a CDN-based (Content Delivery Network) Swagger-UI package. For a proper version of the script, refer to the UNPKG CDN. The script name must be swagger-ui-bundle.js.
  • css refers to a local Swagger-UI CSS file. The path must be relative to the document containing the directive. You can find a proper CSS file in the UNPKG CDN.
  • script refers to the additional script (the one in the above example is recommended). For a proper version of the script, refer to the UNPKG CDN. The script name must be swagger-ui-standalone-preset.js. Probably, you will find another script that can work with the main Swagger-UI script specified by the :url: option.
  • filter requires Swagger UI to display only those endpoints (paths) which contain a tag that partially or fully matches the filter.

This package contains petstore.yaml and swagger-ui.css files (mentioned in the above example) copied to the _static/swaggerui/ folder during the first use of the directive by Sphinx. So don't care about copying these files when you specify the relative path to that folder; the sample files will appear automatically in it whether you use them or not.

Sample CSS Customization

Avoid the operation block tag to disappear:

h4.opblock-tag a.nostyle {
    opacity: 1
}

Remove the Swagger top-bar:

.swagger-ui .topbar {
    display: none;
}

More complex customization that removes all headers leaving only the list of operations: GET, PUT, etc. - and does some other makeups:

/* Editing Swagger UI styles */

.topbar, .information-container, .scheme-container, .operation-filter-input, .try-out, .response-controls, .opblock-tag {
  display: none!important;
}

.swagger-ui .response-col_description {
  width: 75%!important;
}

.swagger-ui .response-col_links {
  max-width: 100em;
}

.swagger-ui.swagger-container {
  padding-top: 5px;
  background-color: #EEF1F6;
}

This is how a section looks like with the above CSS:

![Image](./images/petstore-styled.png =600x)

Links

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinxcontrib_swaggerui-0.1.0.tar.gz (80.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sphinxcontrib_swaggerui-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file sphinxcontrib_swaggerui-0.1.0.tar.gz.

File metadata

  • Download URL: sphinxcontrib_swaggerui-0.1.0.tar.gz
  • Upload date:
  • Size: 80.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.5

File hashes

Hashes for sphinxcontrib_swaggerui-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9f1933beabed1cb7a1a8e60e78bbbe68a733018de460bf58a252ad6480b49db1
MD5 5ab25ab9adb14034df8803c9de34c681
BLAKE2b-256 1c468efff8a207675d405c22742dcbf82a79e3478e3c39e382f14c79e799b8ca

See more details on using hashes here.

File details

Details for the file sphinxcontrib_swaggerui-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinxcontrib_swaggerui-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c91df8d78edb9a934f55f35b195b10fe20abeb3dd3a46b844be36221b656251d
MD5 2a0cbf3ea07bbe358f5906d4f466dc78
BLAKE2b-256 4781774256116326df482a40b04b4879a44d0093e5ad36958f98886cc2d74014

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

0.0.10

1 file

0.0.9

1 file

0.0.8

1 file

0.0.7

1 file

0.0.6

1 file

0.0.5

1 file

0.0.3

1 file

0.0.2

1 file

0.0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page