Skip to content

vidhav/fastapi-startup

Repository files navigation

FastAPI Startup

An opinionated startup extension for FastAPI.

Usage

from fastapi_startup import FastAPIStartup

app = FastAPIStartup(
    site_name="My site",
    swagger_favicon_url="https://example.com/favicon.ico",
)

Opinions

This is an opinionated way to start FastAPI:

  • No ReDoc.
  • Swagger is hosted at the root_path.
  • Swagger UI oAuth2 redirect URL is /oauth2-redirect.
  • Endpoint /ping responds with the plain text response "pong".
  • Mounts static directory at /static (default).
  • Title and site name in Swagger
  • Assets (expects these files in the directory ./static/assets):
    • Favicon - favicon.ico.
    • Swagger CSS - swagger-ui.min.css.
    • Swagger Bundle JS - swagger-ui-bundle.min.js.

Config

Configure FastAPI as usual. Extra arguments (that can be accessed from app.extra):

Name Default Description
site_name Swagger UI Displayed in the Swagger title, with app.title.
static_dir static Where to mount the static directory. Disabled if value is falsy.
swagger_css_url /assets/swagger-ui.min.css URL to Swagger UI CSS file.
swagger_favicon_url /assets/favicon.ico URL to your Favicon.
swagger_js_url /assets/swagger-ui-bundle.min.js URL to Swagger JS bundle file.

If the swagger_ arguments starts with a "/" and static is mounted, they will be loaded from "static", else it will be treated as a URL.

About

An opinionated startup extension for FastAPI.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages