Skip to main content

fastapi_swagger2

Swagger2 support for FastAPI

Package version Supported Python versions


Reason behind this library:

Few API GW services like Google Cloud API GW still support only Swagger 2.0 spec. Since FastAPI only supports OAS3, it is a challenge. Converting from OAS3 to Swagger 2.0 requires some manual steps which would hinder CI/CD.


Requirements

Python 3.10+

  • 0.4.4 - FastAPI >= 0.140.7
  • 0.4.3 - FastAPI >= 0.140.3, < 0.140.7
  • 0.4.2 - FastAPI >= 0.140.0, < 0.140.3
  • 0.4.1 - FastAPI >= 0.137.2, < 0.140.0
  • 0.4.0 - FastAPI >= 0.137.0, <= 0.137.1
  • 0.3.5 - FastAPI >= 0.129.0, < 0.137.0
  • 0.3.4 - FastAPI >= 0.129.0 (last tested against 0.133.1)
  • 0.3.3 - FastAPI >= 0.128.4, <= 0.128.8 (FastAPI has dropped Python 3.9 support since 0.129.1)
  • 0.3.2 - FastAPI >= 0.128.0, <= 0.128.3
  • 0.3.1 - FastAPI >= 0.123.9, <= 0.127.1 + Pydantic v1/v2 (Since FastAPI 0.126.1, Pydantic v1 is deprecated)
  • 0.3.0 - FastAPI >= 0.119.0, <= 0.123.8 + Pydantic v1/v2
  • 0.2.7 - FastAPI >= 0.100.0, < 0.119.0 + Pydantic v1/v2
  • 0.2.4 - FastAPI >= 0.100.0
  • 0.1.1 - FastAPI >= 0.99.0, <= 0.99.1
  • 0.0.3 - FastAPI >= 0.79.0, <= 0.98.0

Installation

$ pip install fastapi_swagger2

Development

$ uv sync --extra dev --extra test --extra all

Example

from typing import Union

from fastapi import FastAPI
from fastapi_swagger2 import FastAPISwagger2

app = FastAPI()
FastAPISwagger2(app)


@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
    return {"item_id": item_id, "q": q}

This adds following endpoints:

  • http://localhost:8000/swagger2.json
  • http://localhost:8000/swagger2/docs
  • http://localhost:8000/swagger2/redoc

Generate spec for CI/CD

import os

import yaml

from app.main import app

URL = os.environ["CLOUD_RUN_URL"]

app.servers.append(URL)

spec = app.swagger2()
spec['x-google-backend'] = {'address': URL}

print(yaml.dump(spec))

Development

$ uv sync --extra dev --extra test --extra all

Release files for fastapi_swagger2 0.4.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastapi_swagger2 0.4.4
File Size Uploaded
fastapi_swagger2-0.4.4.tar.gz 11.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastapi_swagger2 0.4.4
File Interpreter ABI Platform
fastapi_swagger2-0.4.4-py3-none-any.whl Python 3 none any Details

Total release size: 24.7 kB

Release files / fastapi_swagger2-0.4.4.tar.gz

Download URL fastapi_swagger2-0.4.4.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b675d95d588b1eec27d230f22e4e133cd3cd61d55bfce61f313b243f368c7539
BLAKE2b-256 checksum
How to use checksums
47ddfe98bb9db78171cf25531f076995942cb4561087bd1c55f0f72199a6b611
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / fastapi_swagger2-0.4.4-py3-none-any.whl

Download URL fastapi_swagger2-0.4.4-py3-none-any.whl
Size 13.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a3901c0f1e04fa2686f2c5d40623cc89c96586c0c77f0c43d44def577478b6f
BLAKE2b-256 checksum
How to use checksums
12d59bc3a581bd76766eff00c2a24b35c92568bdfffdd68fbfa38e00e3807480
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.4.4 This release

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page