Skip to main content

Starlette support for RFC9457 problems.

Project description

Starlette Problems

uv ruff image image image style tests codecov

starlette_problem is a set of exceptions and handlers for use in starlette 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 starlette_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 starlette.applications
from starlette_problem.handler import add_exception_handler


app = starlette.applications.Starlette()
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

starlette_problem-0.11.0.tar.gz (59.7 kB view details)

Uploaded Source

Built Distribution

starlette_problem-0.11.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file starlette_problem-0.11.0.tar.gz.

File metadata

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

File hashes

Hashes for starlette_problem-0.11.0.tar.gz
Algorithm Hash digest
SHA256 175f3213f720d1a8a703d8a38b5456c0d2c97f9ebd9c94de69279361583b4eca
MD5 7bcad916323d0a9beb33d1adeb506dcb
BLAKE2b-256 849d6bdf974832faf6d4ca564abdda4c0d0d0ea004657a7f33fb53e4b22b1d58

See more details on using hashes here.

File details

Details for the file starlette_problem-0.11.0-py3-none-any.whl.

File metadata

File hashes

Hashes for starlette_problem-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b047411f66329c8e1f4bd9ec72c18764ee4350162d463a791fb64d9611ba35ea
MD5 df8225d208fb23aa60ac470e6f45c4da
BLAKE2b-256 1943769e472fe791e8d74f0cffa6a2ae67e355995ed8afe26dd13e418f60eae6

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