{"library":"sphinxcontrib-openapi","title":"OpenAPI (Swagger) Renderer for Sphinx","type":"library","description":"sphinxcontrib-openapi is a Sphinx extension that renders OpenAPI (formerly Swagger) specifications directly within Sphinx documentation. It leverages `sphinxcontrib-httpdomain` to provide an HTTP domain for describing RESTful HTTP APIs, avoiding the need to re-implement core functionality. It is actively maintained with its latest version 0.9.0 released in February 2026.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install sphinxcontrib-openapi"],"cli":null},"imports":["extensions = ['sphinxcontrib.openapi']"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":null,"github":"https://github.com/sphinx-contrib/openapi","docs":"https://sphinxcontrib-openapi.readthedocs.io/","changelog":null,"pypi":"https://pypi.org/project/sphinxcontrib-openapi/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"# conf.py\n# Add 'sphinxcontrib.openapi' to your extensions list\nextensions = [\n    'sphinx.ext.autodoc',\n    'sphinx.ext.napoleon',\n    'sphinxcontrib.httpdomain', # Ensure this is also included if not already\n    'sphinxcontrib.openapi'\n]\n\n# docs/api.rst\n# Create a sample OpenAPI spec file at docs/specs/openapi.yml\n# For example:\n# swagger: \"2.0\"\n# info:\n#   title: My API\n#   version: \"1.0.0\"\n# paths:\n#   /greet:\n#     get:\n#       summary: Greet a user\n#       responses:\n#         200:\n#           description: A greeting message\n\n# In your .rst file, use the directive:\n\"\"\"\nAPI Documentation\n=================\n\n.. openapi:: specs/openapi.yml\n   :paths: /greet\n   :examples:\n   :group:\n\"\"\"","lang":"rst","description":"To quickly use `sphinxcontrib-openapi`, first ensure it's added to the `extensions` list in your Sphinx project's `conf.py`. Then, create an OpenAPI specification file (e.g., `openapi.yml`) and use the `.. openapi::` directive in your reStructuredText files, pointing to the spec file. Optional parameters like `:paths:`, `:examples:`, and `:group:` can control what parts of the spec are rendered and how.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.8.4","pypi_latest":"0.9.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":6.6,"avg_import_s":0,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"99.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.8,"import_time_s":0,"mem_mb":0,"disk_size":"100M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"109.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.6,"import_time_s":0,"mem_mb":0,"disk_size":"110M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"100.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.8,"import_time_s":0,"mem_mb":0,"disk_size":"101M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"99.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.8,"import_time_s":0,"mem_mb":0,"disk_size":"101M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0,"mem_mb":0,"disk_size":"98.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"sphinxcontrib-openapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.8,"import_time_s":0,"mem_mb":0,"disk_size":"100M"}]}}