Skip to main content

exceptions

Custom exceptions for the data package.

Classes​

BitfountSchemaError​

class BitfountSchemaError(*args, **kwargs):

Errors related to BitfountSchema.

Ancestors​

DataCacheError​

class DataCacheError(*args, **kwargs):

Error related to data cache interaction.

Ancestors​

DataNotAvailableError​

class DataNotAvailableError(*args, **kwargs):

Error when data is not available.

This is raised when data is initially expected from the first read of a datasource, but an error is raised during the subsequent reads rendering no data available.

Ancestors​

DataNotLoadedError​

class DataNotLoadedError(*args, **kwargs):

Raised if a data operation is attempted prior to data loading.

This is usually raised because load_data has not been called yet.

Ancestors​

DataSourceError​

class DataSourceError(*args, **kwargs):

Errors related to Datasource.

Ancestors​

DataStructureError​

class DataStructureError(*args, **kwargs):

Errors related to Datastructure.

Ancestors​

DuplicateColumnError​

class DuplicateColumnError(*args, **kwargs):

Raised if the column names are duplicated in the data.

This can be raised by the sql algorithms with multi-table pods.

Ancestors​

ElevatedPermissionsError​

class ElevatedPermissionsError(*args, **kwargs):

Errors related to datasource connections having elevated write permissions.

This exception is raised when a datasource connection is detected to have write permissions (INSERT, UPDATE, DELETE, CREATE, etc.) when read-only access is required for security purposes.

ImpossibleConstraintsFilterError​

class ImpossibleConstraintsFilterError(filter_name: str, message: str):

Base class for impossible filter constraint errors.

This occurs when task-level filters and datasource-level filters are merged using intersection logic and the resulting constraint cannot be satisfied.

ImpossibleRangeFilterError​

class ImpossibleRangeFilterError(    filter_name: str,    *,    merged_min: RangeBound,    merged_max: RangeBound,    datasource_min: RangeBound | None = None,    datasource_max: RangeBound | None = None,    task_min: RangeBound | None = None,    task_max: RangeBound | None = None,):

Raised when merged range filters result in min > max.

For range filters (e.g., bscan count, file size, dates) where the merged minimum exceeds the merged maximum, making it impossible to satisfy.

ImpossibleValueFilterError​

class ImpossibleValueFilterError(    filter_name: str, *, datasource_value: str, task_value: str,):

Raised when merged value filters have conflicting values.

For value filters (e.g., modality) where datasource and task specify incompatible values that cannot be merged.

InterMineServiceUnavailableError​

class InterMineServiceUnavailableError(*args, **kwargs):

Error raised when the InterMine service is temporarily unavailable.

This exception is raised when the InterMine service returns an HTTP 500 error or similar server-side error, indicating that the service is temporarily down but the configuration may still be valid.

This is distinct from configuration errors (wrong URL, missing template) which indicate a permanent problem that requires user intervention.

IterableDataSourceError​

class IterableDataSourceError(*args, **kwargs):

Errors related to IterableSource-specific functionality.