snoozeml.exceptions — Exception Hierarchy & Error Mappers#
Domain exception hierarchy and HTTP/gRPC error mapping for SnoozeML.
Maintains strict parity with SnoozeML’s Rust InferenceError variants across both
HTTP REST (src/server/http.rs) and Tonic gRPC (src/server/grpc/convert.rs).
- exception snoozeml.exceptions.SnoozeError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
ExceptionBase exception for all SnoozeML client, server, and conversion errors.
- Parameters:
- Return type:
None
- message#
Human-readable explanation of the error.
- status_code#
Optional HTTP status code (e.g.
404,503).
- grpc_code#
Optional gRPC status code name (e.g.
"NOT_FOUND").
- retry_after#
Optional server-suggested retry delay in seconds.
- model_id#
Optional identifier of the target model associated with the failure.
- exception snoozeml.exceptions.ModelNotFoundError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when a requested
model_idis not registered (HTTP 404 / gRPCNOT_FOUND).
- exception snoozeml.exceptions.InvalidInputError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when input tensors have invalid shapes, dtypes, or element counts (HTTP 400 / gRPC
INVALID_ARGUMENT).
- exception snoozeml.exceptions.ShapeMismatchError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
InvalidInputErrorRaised when tensor dimensions are incompatible during batch collation or forward pass (HTTP 400 / gRPC
INVALID_ARGUMENT).
- exception snoozeml.exceptions.InferenceTimeoutError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when a request exceeds its processing or queue deadline (HTTP 504 / gRPC
DEADLINE_EXCEEDED).
- exception snoozeml.exceptions.ModelLoadingError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when model weights are currently being loaded (HTTP 503 / gRPC
UNAVAILABLE).
- exception snoozeml.exceptions.ResourceExhaustedError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when server memory or queue capacity is exhausted (HTTP 503 / gRPC
RESOURCE_EXHAUSTED).
- exception snoozeml.exceptions.OutOfMemoryError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
ResourceExhaustedErrorRaised when device VRAM or host RAM allocation fails (HTTP 503 / gRPC
RESOURCE_EXHAUSTED).
- exception snoozeml.exceptions.UnsupportedArchitectureError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when a Safetensors model architecture is unsupported natively (HTTP 501 / gRPC
UNIMPLEMENTED).
- exception snoozeml.exceptions.AuthenticationError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when authentication credentials are missing or invalid (HTTP 401 / gRPC
UNAUTHENTICATED).
- exception snoozeml.exceptions.PermissionDeniedError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when the authenticated identity lacks the required RBAC role (HTTP 403 / gRPC
PERMISSION_DENIED).
- exception snoozeml.exceptions.SnoozeConnectionError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when the SnoozeML daemon cannot be reached over HTTP or gRPC.
- exception snoozeml.exceptions.RuntimeInferenceError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when an internal engine or runtime error occurs (HTTP 500 / gRPC
INTERNAL).
- exception snoozeml.exceptions.ConversionError(message, *, status_code=None, grpc_code=None, retry_after=None, model_id=None)[source]#
Bases:
SnoozeErrorRaised when exporting a scikit-learn, PyTorch, or XGBoost model fails.
- snoozeml.exceptions.map_http_error(status_code, body_text, headers=None, model_id=None)[source]#
Maps an HTTP error response from SnoozeML to the corresponding
SnoozeErrorsubclass.- Parameters:
- Returns:
A specific
SnoozeErrorsubclass matching the failure mode.- Return type:
- snoozeml.exceptions.map_grpc_error(rpc_error, model_id=None)[source]#
Maps a
grpc.RpcErrorfrom SnoozeML to the canonicalSnoozeErrorsubclass.- Parameters:
- Returns:
A specific
SnoozeErrorsubclass matching the gRPC status code.- Return type: