exceptions

exception advanced_alchemy.exceptions.AdvancedAlchemyError[source]

Bases: Exception

Base exception class from which all Advanced Alchemy exceptions inherit.

__init__(*args: Any, detail: str = '') None[source]

Initialize AdvancedAlchemyException.

Parameters:
  • *args – args are converted to str before passing to Exception

  • detail – detail of the exception.

exception advanced_alchemy.exceptions.ConflictError[source]

Bases: RepositoryError

Data integrity error.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

Note

This class is deprecated in favor of advanced_alchemy.exceptions.IntegrityError.

__init__(*args: Any, detail: str = '') None[source]

Initialize AdvancedAlchemyException.

Parameters:
  • *args – args are converted to str before passing to Exception

  • detail – detail of the exception.

exception advanced_alchemy.exceptions.DuplicateKeyError[source]

Bases: IntegrityError

Duplicate key error.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

class advanced_alchemy.exceptions.ErrorMessages[source]

Bases: TypedDict

exception advanced_alchemy.exceptions.ForeignKeyError[source]

Bases: IntegrityError

Foreign key error.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

exception advanced_alchemy.exceptions.ImproperConfigurationError[source]

Bases: AdvancedAlchemyError

Improper Configuration error.

This exception is raised when there is an issue with the configuration of a module.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

exception advanced_alchemy.exceptions.IntegrityError[source]

Bases: RepositoryError

Data integrity error.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

exception advanced_alchemy.exceptions.MissingDependencyError[source]

Bases: AdvancedAlchemyError, ImportError

Missing optional dependency.

This exception is raised when a module depends on a dependency that has not been installed.

Parameters:
  • package – Name of the missing package.

  • install_package – Optional alternative package name to install.

__init__(package: str, install_package: str | None = None) None[source]

Initialize AdvancedAlchemyException.

Parameters:
  • *args – args are converted to str before passing to Exception

  • detail – detail of the exception.

exception advanced_alchemy.exceptions.MultipleResultsFoundError[source]

Bases: RepositoryError

Multiple results found error.

This exception is raised when a single result was expected but multiple were found.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

exception advanced_alchemy.exceptions.NotFoundError[source]

Bases: RepositoryError

Not found error.

This exception is raised when a requested resource is not found.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

exception advanced_alchemy.exceptions.RepositoryError[source]

Bases: AdvancedAlchemyError

Base repository exception type.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

exception advanced_alchemy.exceptions.SerializationError[source]

Bases: AdvancedAlchemyError

Encoding or decoding error.

This exception is raised when serialization or deserialization of an object fails.

Parameters:
  • *args – Variable length argument list passed to parent class.

  • detail – Detailed error message.

advanced_alchemy.exceptions.wrap_sqlalchemy_exception(error_messages: ErrorMessages | None = None, dialect_name: str | None = None) Generator[None, None, None][source]

Do something within context to raise a RepositoryError chained from an original SQLAlchemyError.

>>> try:
...     with wrap_sqlalchemy_exception():
...         raise SQLAlchemyError("Original Exception")
... except RepositoryError as exc:
...     print(f"caught repository exception from {type(exc.__context__)}")
...
caught repository exception from <class 'sqlalchemy.exc.SQLAlchemyError'>