Skip to content

Config

provide.foundation.errors.config

TODO: Add module docstring.

Classes

ConfigValidationError

ConfigValidationError(
    message: str,
    *,
    config_class: str | None = None,
    **kwargs: Any
)

Bases: ValidationError

Raised when configuration validation fails.

This is a specialized validation error for configuration-specific validation failures.

Parameters:

Name Type Description Default
message str

Validation error message.

required
config_class str | None

Optional name of the config class.

None
**kwargs Any

Additional context passed to ValidationError.

{}

Examples:

>>> raise ConfigValidationError("Invalid database configuration")
>>> raise ConfigValidationError("Port must be positive", field="port", value=-1)
Source code in provide/foundation/errors/config.py
def __init__(
    self,
    message: str,
    *,
    config_class: str | None = None,
    **kwargs: Any,
) -> None:
    if config_class:
        kwargs.setdefault("context", {})["config.class"] = config_class
    super().__init__(message, **kwargs)

ConfigurationError

ConfigurationError(
    message: str,
    *,
    config_key: str | None = None,
    config_source: str | None = None,
    **kwargs: Any
)

Bases: FoundationError

Raised when configuration is invalid or cannot be loaded.

Parameters:

Name Type Description Default
message str

Error message describing the configuration issue.

required
config_key str | None

Optional configuration key that caused the error.

None
config_source str | None

Optional source of the configuration (file, env, etc.).

None
**kwargs Any

Additional context passed to FoundationError.

{}

Examples:

>>> raise ConfigurationError("Missing required config")
>>> raise ConfigurationError("Invalid timeout", config_key="timeout")
Source code in provide/foundation/errors/config.py
def __init__(
    self,
    message: str,
    *,
    config_key: str | None = None,
    config_source: str | None = None,
    **kwargs: Any,
) -> None:
    if config_key:
        kwargs.setdefault("context", {})["config.key"] = config_key
    if config_source:
        kwargs.setdefault("context", {})["config.source"] = config_source
    super().__init__(message, **kwargs)

ValidationError

ValidationError(
    message: str,
    *,
    field: str | None = None,
    value: Any = None,
    rule: str | None = None,
    **kwargs: Any
)

Bases: FoundationError

Raised when data validation fails.

Parameters:

Name Type Description Default
message str

Validation error message.

required
field str | None

Optional field name that failed validation.

None
value Any

Optional invalid value.

None
rule str | None

Optional validation rule that failed.

None
**kwargs Any

Additional context passed to FoundationError.

{}

Examples:

>>> raise ValidationError("Invalid email format")
>>> raise ValidationError("Value out of range", field="age", value=-1)
Source code in provide/foundation/errors/config.py
def __init__(
    self,
    message: str,
    *,
    field: str | None = None,
    value: Any = None,
    rule: str | None = None,
    **kwargs: Any,
) -> None:
    if field:
        kwargs.setdefault("context", {})["validation.field"] = field
    if value is not None:
        kwargs.setdefault("context", {})["validation.value"] = str(value)
    if rule:
        kwargs.setdefault("context", {})["validation.rule"] = rule
    super().__init__(message, **kwargs)