Skip to content

Plugins Service Errors

consortium.server.exceptions.service_exceptions.plugins_service_exceptions

Exception hierarchy:

The loading, dependency, and registry exceptions below carry no __init__ of their own: they are constructed by the shared component loader/registry pipeline with the generic component keyword arguments (component_directory, component_str, component_id, ...) inherited from their components_service_exceptions base. Only the unloading errors, which are raised directly by the plugin registry with a bespoke message, define their own constructor. PluginDiscoveryFileSystemError also carries no __init__ of its own: it inherits the operation/path/underlying_error constructor from ComponentDiscoveryFileSystemError so it plugs directly into the shared wrap_filesystem_errors helper.

PluginsServiceError(message='', detail=None)

Bases: BaseServiceError

Base exception for all errors that occur within the plugins service.

Attributes:

Name Type Description
code

A stable machine-readable string identifying the specific error.

message str

A human-readable description of what went wrong and, where possible, how to resolve it.

detail dict[str, JsonValue] | None

Optional structured context about the error, or None when there is none.

code = 'PLUGINS_SERVICE_ERROR' class-attribute instance-attribute

PluginNotFoundError(component_id)

Bases: PluginsServiceError, ComponentNotFoundError

Raised when the requested plugin with the provided plugin ID was not found in the plugins service.

code = 'PLUGIN_NOT_FOUND_ERROR' class-attribute instance-attribute

PluginLoadingError(**kwargs)

Bases: PluginsServiceError, ComponentLoadingError

Base exception for all errors that occur during the loading of a plugin.

code = 'PLUGIN_LOADING_ERROR' class-attribute instance-attribute

InvalidPluginManifestFileError(**kwargs)

Bases: PluginLoadingError, InvalidComponentManifestFileError

Base exception for all errors that occur due to an invalid plugin manifest file during plugin loading.

code = 'INVALID_PLUGIN_MANIFEST_FILE_ERROR' class-attribute instance-attribute

InvalidPluginManifestFileJSONError(component_directory)

Bases: InvalidPluginManifestFileError, InvalidComponentManifestFileJSONError

Raised when the plugin manifest file is not valid JSON during plugin loading.

code = 'INVALID_PLUGIN_MANIFEST_FILE_JSON_ERROR' class-attribute instance-attribute

InvalidPluginManifestFileSchemaError(component_directory, json_schema_error_message)

Bases: InvalidPluginManifestFileError, InvalidComponentManifestFileSchemaError

Raised when the plugin manifest file does not conform to the expected JSON schema during plugin loading.

code = 'INVALID_PLUGIN_MANIFEST_FILE_SCHEMA_ERROR' class-attribute instance-attribute

InvalidPluginPyProjectFileError(**kwargs)

Bases: PluginLoadingError, InvalidComponentPyProjectFileError

Base exception for all errors that occur due to an invalid pyproject.toml file during plugin loading.

code = 'INVALID_PLUGIN_PYPROJECT_FILE_ERROR' class-attribute instance-attribute

InvalidPluginPyProjectFileTOMLError(component_directory)

Bases: PluginLoadingError, InvalidComponentPyProjectFileTOMLError

Raised when the pyproject.toml file is not a valid TOML file during plugin loading.

code = 'INVALID_PLUGIN_PYPROJECT_FILE_TOML_ERROR' class-attribute instance-attribute

InvalidPluginPyProjectFileDependencyError(component_directory, invalid_dependency_entry)

Bases: PluginLoadingError, InvalidComponentPyProjectFileDependencyError

Raised when the pyproject.toml file contains an invalid dependency entry during plugin loading.

code = 'INVALID_PLUGIN_PYPROJECT_FILE_DEPENDENCY_ERROR' class-attribute instance-attribute

InvalidPluginDirectoryStructureError(**kwargs)

Bases: PluginLoadingError, InvalidComponentDirectoryStructureError

Base exception for all errors that occur due to an invalid plugin directory structure during plugin loading.

code = 'INVALID_PLUGIN_DIRECTORY_STRUCTURE_ERROR' class-attribute instance-attribute

PluginManifestFileNotFoundError(component_directory)

Bases: InvalidPluginDirectoryStructureError, ComponentManifestFileNotFoundError

Raised when the plugin manifest file is not found in the plugin directory during plugin loading.

code = 'PLUGIN_MANIFEST_FILE_NOT_FOUND_ERROR' class-attribute instance-attribute

PluginEntryPointModuleNotFoundError(component_directory, entry_point_module)

Bases: InvalidPluginDirectoryStructureError, ComponentEntryPointModuleNotFoundError

Raised when the plugin entry point module specified in the manifest file is not found in the plugin directory during plugin loading.

code = 'PLUGIN_ENTRY_POINT_MODULE_NOT_FOUND_ERROR' class-attribute instance-attribute

InvalidPluginImplementationError(**kwargs)

Bases: PluginLoadingError, InvalidComponentImplementationError

Base exception for all errors that occur due to the plugin not implementing the required interface during plugin loading.

code = 'INVALID_PLUGIN_IMPLEMENTATION_ERROR' class-attribute instance-attribute

PluginSymbolNotFoundError(component_directory, entry_point_symbol, entry_point_module)

Bases: InvalidPluginImplementationError, ComponentSymbolNotFoundError

Raised when the plugin symbol name specified in the manifest file is not found in the plugin entry point module during plugin loading.

code = 'PLUGIN_SYMBOL_NOT_FOUND_ERROR' class-attribute instance-attribute

PluginInterfaceError(component_directory, entry_point_symbol)

Bases: InvalidPluginImplementationError, ComponentInterfaceError

Raised when the plugin class does not implement the required interface during plugin loading.

code = 'PLUGIN_INTERFACE_ERROR' class-attribute instance-attribute

InternalPluginError(component_directory, internal_error_message)

Bases: InvalidPluginImplementationError, InternalComponentError

Raised when an unhandled exception from within the plugin is raised during plugin loading.

code = 'INTERNAL_PLUGIN_ERROR' class-attribute instance-attribute

IncompatiblePluginFrameworkVersionError(component_str, required_version, current_version)

Bases: PluginLoadingError, IncompatibleComponentFrameworkVersionError

Raised when a plugin's required framework version is incompatible with the current framework version during plugin loading.

code = 'INCOMPATIBLE_PLUGIN_FRAMEWORK_VERSION_ERROR' class-attribute instance-attribute

PluginAlreadyRegisteredError(component_str, component_id)

Bases: PluginLoadingError, ComponentAlreadyRegisteredError

Raised when a plugin with the same ID is already registered in the plugins service during plugin loading.

code = 'PLUGIN_ALREADY_REGISTERED_ERROR' class-attribute instance-attribute

DuplicatePluginLabelError(component_str, label)

Bases: PluginLoadingError, DuplicateComponentLabelError

Raised when the label provided in the plugin's definition is already in use by another plugin during plugin loading.

code = 'DUPLICATE_PLUGIN_LABEL_ERROR' class-attribute instance-attribute

PluginDependencyError(**kwargs)

Bases: PluginsServiceError, ComponentDependencyError

Base exception for all errors that occur during the resolution of plugin dependencies.

code = 'PLUGIN_DEPENDENCY_ERROR' class-attribute instance-attribute

ThirdPartyDependencyNotFoundError(component_directory, third_party_dependency_name)

Bases: PluginDependencyError, ThirdPartyDependencyNotFoundError

Raised when a third-party dependency required by a plugin is not installed during plugin dependency resolution.

code = 'THIRD_PARTY_DEPENDENCY_NOT_FOUND_ERROR' class-attribute instance-attribute

IncompatibleThirdPartyDependencyVersionError(component_directory, third_party_dependency_name, required_version, installed_version)

Bases: PluginDependencyError, IncompatibleThirdPartyDependencyVersionError

Raised when a third-party dependency's installed version is incompatible with the version required by the plugin during plugin dependency resolution.

code = 'INCOMPATIBLE_THIRD_PARTY_DEPENDENCY_VERSION_ERROR' class-attribute instance-attribute

ComponentDependencyNotFoundError(component_str, missing_dependency)

Bases: PluginDependencyError, ComponentDependencyNotFoundError

Raised when a plugin dependency required by the plugin is not found in the plugins service during plugin dependency resolution.

code = 'COMPONENT_DEPENDENCY_NOT_FOUND_ERROR' class-attribute instance-attribute

IncompatibleComponentDependencyVersionError(component_str, incompatible_dependency, required_version, installed_version)

Bases: PluginDependencyError, IncompatibleComponentDependencyVersionError

Raised when a plugin dependency's version is incompatible with the version required by the plugin during plugin dependency resolution.

code = 'INCOMPATIBLE_COMPONENT_DEPENDENCY_VERSION_ERROR' class-attribute instance-attribute

PluginDependsOnInvalidComponentDependencyError(component_str, invalid_dependency)

Bases: PluginDependencyError, ComponentDependsOnInvalidComponentDependencyError

Raised when a plugin depends on another plugin that itself has invalid dependencies during plugin dependency resolution.

code = 'PLUGIN_DEPENDS_ON_INVALID_COMPONENT_DEPENDENCY_ERROR' class-attribute instance-attribute

ComponentDependencyNotRunningError(component_str, not_running_dependency)

Bases: PluginDependencyError, ComponentDependencyNotRunningError

Raised when a plugin dependency required by the plugin is present but not currently running during plugin dependency resolution.

code = 'COMPONENT_DEPENDENCY_NOT_RUNNING_ERROR' class-attribute instance-attribute

PluginUnloadingError(message='', detail=None)

Bases: PluginsServiceError

Base exception for all errors that occur during the unloading of a plugin.

code = 'PLUGIN_UNLOADING_ERROR' class-attribute instance-attribute

PluginStopTimeoutError(plugin_str)

Bases: PluginUnloadingError

Raised when the plugin fails to stop within the specified timeout period during plugin unloading.

code = 'PLUGIN_STOP_TIMEOUT_ERROR' class-attribute instance-attribute

PluginDiscoveryFileSystemError(operation, path, underlying_error)

Bases: PluginsServiceError, ComponentDiscoveryFileSystemError

Raised when a recursive filesystem scan for plugins fails at the filesystem level.

code = 'PLUGIN_DISCOVERY_FILE_SYSTEM_ERROR' class-attribute instance-attribute