Skip to content

Exceptions

Here are the custom exceptions pyrmute raises. You can import them directly from pyrmute:

from pyrmute import ModelNotFoundError, MigrationError, InvalidVersionError

pyrmute.ModelNotFoundError

ModelNotFoundError(name, version=None)

Bases: VersionedModelError

Raised when a model or version cannot be found in the registry.

Initializes ModelNotFoundError.

Source code in src/pyrmute/exceptions.py
def __init__(self: Self, name: str, version: str | None = None) -> None:
    """Initializes ModelNotFoundError."""
    self.name = name
    self.version = version
    if version:
        msg = f"Model '{name}' version '{version}' not found in registry"
    else:
        msg = f"Model '{name}' not found in registry"
    super().__init__(msg)

name instance-attribute

name = name

version instance-attribute

version = version

pyrmute.MigrationError

MigrationError(name, from_version, to_version, reason=None)

Bases: VersionedModelError

Raised when a migration fails or cannot be found.

Initializes MigrationError.

Source code in src/pyrmute/exceptions.py
def __init__(
    self: Self,
    name: str,
    from_version: str,
    to_version: str,
    reason: str | None = None,
) -> None:
    """Initializes MigrationError."""
    self.name = name
    self.from_version = from_version
    self.to_version = to_version
    self.reason = reason

    msg = f"Migration failed for '{name}': {from_version}{to_version}"
    if reason:
        msg += f"\nReason: {reason}"
    super().__init__(msg)

name instance-attribute

name = name

from_version instance-attribute

from_version = from_version

to_version instance-attribute

to_version = to_version

reason instance-attribute

reason = reason

pyrmute.InvalidVersionError

InvalidVersionError(version_string, reason=None)

Bases: VersionedModelError

Raised when a version string cannot be parsed.

Initializes InvalidVersionError.

Source code in src/pyrmute/exceptions.py
def __init__(self: Self, version_string: str, reason: str | None = None) -> None:
    """Initializes InvalidVersionError."""
    self.version_string = version_string
    msg = f"Invalid version string: '{version_string}'"
    if reason:
        msg += f"\n{reason}"
    super().__init__(msg)

version_string instance-attribute

version_string = version_string

They are all a base class of:

pyrmute.VersionedModelError

Bases: Exception

Base exception for all versioned model errors.