Skip to main content

FastAPI support for RFC9457 problems.

Project description

FastAPI Problems

uv ruff image image image style tests codecov

fastapi_problem is a set of exceptions and handlers for use in fastapi applications to support easy error management and responses.

Each exception easily marshals to JSON based on the RFC9457 spec for use in api errors.

Check the docs for more details.

Custom Errors

Subclassing the convenience classes provide a simple way to consistently raise the same error with detail/extras changing based on the raised context.

from fastapi_problem.error import NotFoundProblem


class UserNotFoundError(NotFoundProblem):
    title = "User not found."

raise UserNotFoundError(detail="detail")
{
    "type": "user-not-found",
    "title": "User not found",
    "detail": "detail",
    "status": 404,
}

Usage

import fastapi
from fastapi_problem.handler import add_exception_handler


app = fastapi.FastAPI()
add_exception_handler(app)

@app.get("/user")
async def get_user():
    raise UserNotFoundError("No user found.")
$ curl localhost:8000/user
{

    "type": "user-not-found",
    "title": "User not found",
    "detail": "No user found.",
    "status": 404,
}

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

fastapi_problem-0.9.5.tar.gz (66.7 kB view details)

Uploaded Source

Built Distribution

fastapi_problem-0.9.5-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_problem-0.9.5.tar.gz.

File metadata

  • Download URL: fastapi_problem-0.9.5.tar.gz
  • Upload date:
  • Size: 66.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for fastapi_problem-0.9.5.tar.gz
Algorithm Hash digest
SHA256 9fafe6ff4bdf65399f60545be41b0568da390289256fcf997669a11904b0bd8c
MD5 acbc580d50aca882913fa6fb69e6ae31
BLAKE2b-256 c9d41cb8819837b0336f815aafbcb5fb6e8da493966bec28257ca0bd8e47e84b

See more details on using hashes here.

File details

Details for the file fastapi_problem-0.9.5-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_problem-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3f02f3f2108af37235d1b0695c13b0d0ee0d0ebde5bc292413edfd79590cab58
MD5 6b6b7a6d61770c2c94aba01928dc7f94
BLAKE2b-256 23ad8014e0d6e88d3ab281c83847585c6a3d628ae4685d319964a2c541b3c389

See more details on using hashes here.

Supported by

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