Plugins Service Errors¶
consortium.server.exceptions.service_exceptions.plugins_service_exceptions
¶
Exception hierarchy:
BaseServiceErrorPluginsServiceErrorPluginNotFoundErrorPluginLoadingErrorInvalidPluginManifestFileErrorInvalidPluginPyProjectFileErrorInvalidPluginPyProjectFileTOMLErrorInvalidPluginPyProjectFileDependencyErrorInvalidPluginDirectoryStructureErrorInvalidPluginImplementationErrorIncompatiblePluginFrameworkVersionErrorPluginAlreadyRegisteredErrorDuplicatePluginLabelError
PluginDependencyErrorPluginUnloadingErrorPluginDiscoveryFileSystemError
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.