Skip to content

exceptions

Exception classes for the YouSleep API client.

AnalysisWorkflowError

Bases: YouSleepClientError

Raised by workflow helpers when an analysis ends in a non-completed terminal state.

__init__(message, *, analysis, logs=None)

Initialize the error.

Parameters:

Name Type Description Default
message str

Human-readable description of the failure.

required
analysis AnalysisOut

The analysis in its (non-completed) terminal state.

required
logs AnalysisLogs | None

Execution logs if they could be fetched, else None.

None

AuthenticationError

Bases: YouSleepClientError

Authentication failed (401 Unauthorized).

ClientConnectionError

Bases: YouSleepClientError

Connection error occurred.

ClientTimeoutError

Bases: YouSleepClientError

Request timed out.

ForbiddenError

Bases: YouSleepClientError

Access forbidden (403 Forbidden).

InsufficientCreditsError

Bases: YouSleepClientError

Not enough credits for the requested operation (402 Payment Required).

NotFoundError

Bases: YouSleepClientError

Resource not found (404 Not Found).

QuotaExceededError

Bases: YouSleepClientError

A usage quota was exceeded (projects, studies, analyses, analysis hours, ...).

The server reports quota violations with HTTP 429 like rate limiting, but a quota error will not clear by waiting — the client raises this immediately without retrying. Check your limits via client.user.usage_limits() and current usage via client.user.usage_detailed().

RateLimitError

Bases: YouSleepClientError

Rate limit exceeded (429 Too Many Requests).

__init__(message, retry_after=None, **kwargs)

Initialize rate limit error.

Parameters:

Name Type Description Default
message str

Error message

required
retry_after int | None

Seconds until retry is allowed

None
**kwargs Any

Additional arguments passed to parent

{}

ServerError

Bases: YouSleepClientError

Server error (5xx status codes).

ValidationError

Bases: YouSleepClientError

Request validation failed (422 Unprocessable Entity).

__init__(message, errors=None, **kwargs)

Initialize validation error.

Parameters:

Name Type Description Default
message str

Error message

required
errors dict[str, Any] | None

Validation error details

None
**kwargs Any

Additional arguments passed to parent

{}

YouSleepClientError

Bases: Exception

Base exception for all client errors.

__init__(message, status_code=None, response=None, code=None)

Initialize the exception.

Parameters:

Name Type Description Default
message str

Error message

required
status_code int | None

HTTP status code if applicable

None
response Any

Raw response object if available

None
code str | None

Machine-readable API error code (ErrorCode value), if the server provided one

None