Skip to main content

Add openapi docs to flask app using Flask-Pydantic

Project description

Flask-Pydantic-Docs

Installation

python3 -m pip install Flask-Pydantic-Docs

Usage

Example

# necessary imports

app = Flask(__name___)
openapi = OpenAPI()

access_denied = APIError(code=403, msg="Access Denied")

@app.route("/post", methods=["POST"])
@openapi_docs(response=ResponseModel, tags=["demo"], exceptions=[access_denied])
@validate()
def post(body: BodyModel, query: QueryModel):
    return ResponseModel(
        id=id_,
        age=query.age,
        name=body.name,
        nickname=body.nickname,
    )
...

openapi.register(app)

NOTE:

  • Since the openapi_docs decorator is to register the schemas based on the models used by the view function, so the models have to be put in the view function arguments with annotations as shown in the above example. Otherwise, the schemas cannot be captured.

  • The statement openapi.register needs to be run after all view functions or register_blueprint.

Add Auth Security Schemes

# necessary imports, app and model definition

openapi = OpenAPI(
    extra_props={
        "components": {
            "securitySchemes": {
                "bearerAuth": {
                    "type": "http",
                    "scheme": "bearer",
                    "bearerFormat": "JWT",
                    "in": "header",
                }
            }
        },
        "security": [{"bearerAuth": []}]
    },
)

...

openapi.register(app)

Project details


Download files

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

Source Distribution

Flask-Pydantic-Docs-0.0.12.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

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

Flask_Pydantic_Docs-0.0.12-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file Flask-Pydantic-Docs-0.0.12.tar.gz.

File metadata

  • Download URL: Flask-Pydantic-Docs-0.0.12.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.11

File hashes

Hashes for Flask-Pydantic-Docs-0.0.12.tar.gz
Algorithm Hash digest
SHA256 9b615966384d7011c0e85d2909648e66f45e4dc6998cdcdd3bfa84ac460772db
MD5 6e438dc4a814ea8d64000c8d33f96a91
BLAKE2b-256 248e32a3563d1960a41b909cf3ff91cd1bfa45b61a0ef78ffb9f4cf9796ebffc

See more details on using hashes here.

File details

Details for the file Flask_Pydantic_Docs-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: Flask_Pydantic_Docs-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.11

File hashes

Hashes for Flask_Pydantic_Docs-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 ff992058b643b92e0cfa2f7a690bc49f0e4ca8a5926a797f44c4f39df4540e35
MD5 1e3f8f261804841813c4c50f8b814c59
BLAKE2b-256 bf89aa332b15c3f477b5846fa0afc1c8d5bc1f5fd4563cfa610eb25d1b338083

See more details on using hashes here.

Supported by

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