import importlib.machinery class RedError(Exception): """Base error class for Red-related errors.""" class PackageAlreadyLoaded(RedError): """Raised when trying to load an already-loaded package.""" def __init__(self, spec: importlib.machinery.ModuleSpec, *args, **kwargs): super().__init__(*args, **kwargs) self.spec: importlib.machinery.ModuleSpec = spec def __str__(self) -> str: return f"There is already a package named {self.spec.name.split('.')[-1]} loaded"