Coverage for src/secchi/errors.py: 100%
6 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-04 22:15 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-04 22:15 +0000
1"""Stable exception types exposed by Secchi application boundaries."""
3from __future__ import annotations
6class SecchiError(Exception):
7 """Base class for expected, user-actionable Secchi failures."""
10class PackageNotFoundError(SecchiError):
11 """No package or exact registry match could be resolved."""
14class RegistryUnavailableError(SecchiError):
15 """A registry or enrichment service could not be reached or used."""
18class ConfigError(SecchiError):
19 """The requested Secchi configuration is missing or invalid."""
22class ReportError(SecchiError):
23 """A report could not be rendered or its format is unsupported."""