Skip to main content

Build Status docs pypi python license

Quart-Schema is a Quart extension that provides schema validation and auto-generated API documentation. This is particularly useful when writing RESTful APIs.

Quart-Schema can use either msgspec or pydantic to validate.

Quickstart

Quart-Schema can validate an existing Quart route by decorating it with validate_querystring, validate_request, or validate_response. It can also validate the JSON data sent and received over websockets using the send_as and receive_as methods.

from dataclasses import dataclass
from datetime import datetime

from quart import Quart, websocket
from quart_schema import QuartSchema, validate_request, validate_response

app = Quart(__name__)
QuartSchema(app)

@dataclass
class Todo:
    task: str
    due: datetime | None

@app.post("/")
@validate_request(Todo)
@validate_response(Todo, 201)
async def create_todo(data: Todo) -> tuple[Todo, int]:
    ... # Do something with data, e.g. save to the DB
    return data, 201

@app.websocket("/ws")
async def ws() -> None:
    while True:
        data = await websocket.receive_as(Todo)
        ... # Do something with data, e.g. save to the DB
        await websocket.send_as(data, Todo)

The documentation is served by default at /openapi.json according to the OpenAPI standard, or at /docs for a SwaggerUI interface, or /redocs for a redoc interface, or /scalar for a Scalar interface. Note that there is currently no documentation standard for WebSockets.

Contributing

Quart-Schema is developed on GitHub. If you come across an issue, or have a feature request please open an issue. If you want to contribute a fix or the feature-implementation please do (typo fixes welcome), by proposing a merge request.

Testing

The best way to test Quart-Schema is with Tox,

$ pip install tox
$ tox

this will check the code style and run the tests.

Help

The Quart-Schema documentation is the best places to start, after that try searching stack overflow or ask for help on gitter. If you still can’t find an answer please open an issue.

Release files for quart-schema 0.25.0

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

Source distribution (sdist)

Source distribution for quart-schema 0.25.0
File Size Uploaded
quart_schema-0.25.0.tar.gz 26.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quart-schema 0.25.0
File Interpreter ABI Platform
quart_schema-0.25.0-py3-none-any.whl Python 3 none any Details

Total release size: 48.8 kB

Release files / quart_schema-0.25.0.tar.gz

Download URL quart_schema-0.25.0.tar.gz
Size 26.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c34be5cb7e7a6e36631eb7cb195d378f975c375d45b509895b4f832f3b36bf95
BLAKE2b-256 checksum
How to use checksums
ba732151741c9d96fc63bfb10cad1156001f7bd5dc512bc365bd2fe95bfa6407
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.

Transparency log

Release files / quart_schema-0.25.0-py3-none-any.whl

Download URL quart_schema-0.25.0-py3-none-any.whl
Size 22.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c885ba69dedecb8a085073315998e2aaceb73a6e86e225987779e21ea13a4aa8
BLAKE2b-256 checksum
How to use checksums
3b4ac607866a3174dfd2223b8270cb0c603eacd313b68f0aa5830cf335c09c63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.

Transparency log
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