pypresscart.exceptions

Exception hierarchy for the presscart client.

Exceptions

AuthenticationError(status_code, message, *)

HTTP 401.

BadRequestError(status_code, message, *[, ...])

HTTP 400.

NotFoundError(status_code, message, *[, ...])

HTTP 404.

PermissionError(status_code, message, *[, ...])

HTTP 403.

PresscartAPIError(status_code, message, *[, ...])

The API returned a non-2xx HTTP status.

PresscartError

Base class for all presscart client errors.

PresscartTransportError

Network-level failure (timeout, connection reset, DNS, etc.).

RateLimitError(status_code, message, *[, ...])

HTTP 429.

ServerError(status_code, message, *[, name, ...])

HTTP 5xx.

ValidationError(status_code, message, *[, ...])

HTTP 400 with field-level issues payload.

exception pypresscart.exceptions.AuthenticationError(status_code, message, *, name=None, payload=None)[source]

Bases: PresscartAPIError

HTTP 401.

Parameters:
  • status_code (int)

  • message (str)

  • name (str | None)

  • payload (dict[str, Any] | None)

Return type:

None

exception pypresscart.exceptions.BadRequestError(status_code, message, *, name=None, payload=None)[source]

Bases: PresscartAPIError

HTTP 400.

Parameters:
  • status_code (int)

  • message (str)

  • name (str | None)

  • payload (dict[str, Any] | None)

Return type:

None

exception pypresscart.exceptions.NotFoundError(status_code, message, *, name=None, payload=None)[source]

Bases: PresscartAPIError

HTTP 404.

Parameters:
  • status_code (int)

  • message (str)

  • name (str | None)

  • payload (dict[str, Any] | None)

Return type:

None

exception pypresscart.exceptions.PermissionError(status_code, message, *, name=None, payload=None)[source]

Bases: PresscartAPIError

HTTP 403. Token valid but lacks the required scope or team access.

Parameters:
  • status_code (int)

  • message (str)

  • name (str | None)

  • payload (dict[str, Any] | None)

Return type:

None

exception pypresscart.exceptions.PresscartAPIError(status_code, message, *, name=None, payload=None)[source]

Bases: PresscartError

The API returned a non-2xx HTTP status.

Parameters:
  • status_code (int)

  • message (str)

  • name (str | None)

  • payload (dict[str, Any] | None)

Return type:

None

status_code

HTTP status code returned by the API.

name

name field from the error JSON body (e.g. "ForbiddenError").

message

Human-readable description from the error body.

payload

Full parsed JSON body, or None if the body was not JSON.

exception pypresscart.exceptions.PresscartError[source]

Bases: Exception

Base class for all presscart client errors.

exception pypresscart.exceptions.PresscartTransportError[source]

Bases: PresscartError

Network-level failure (timeout, connection reset, DNS, etc.).

Wraps the underlying requests exception in __cause__.

exception pypresscart.exceptions.RateLimitError(status_code, message, *, name=None, payload=None, retry_after=None)[source]

Bases: PresscartAPIError

HTTP 429. retry_after is populated from the Retry-After header when present.

Parameters:
  • status_code (int)

  • message (str)

  • name (str | None)

  • payload (dict[str, Any] | None)

  • retry_after (float | None)

Return type:

None

exception pypresscart.exceptions.ServerError(status_code, message, *, name=None, payload=None)[source]

Bases: PresscartAPIError

HTTP 5xx.

Parameters:
  • status_code (int)

  • message (str)

  • name (str | None)

  • payload (dict[str, Any] | None)

Return type:

None

exception pypresscart.exceptions.ValidationError(status_code, message, *, name=None, payload=None)[source]

Bases: BadRequestError

HTTP 400 with field-level issues payload.

Parameters:
  • status_code (int)

  • message (str)

  • name (str | None)

  • payload (dict[str, Any] | None)

Return type:

None