from collections.abc import Callable from typing import TypeVar from fastapi import HTTPException, status T = TypeVar("T") def as_501(call: Callable[[], T]) -> T: try: return call() except NotImplementedError as exc: raise HTTPException( status_code=status.HTTP_501_NOT_IMPLEMENTED, detail=str(exc), ) from exc