Integration
What it is
- A minimal base module for defining third-party service integrations.
- Provides:
- A standard configuration container type (
IntegrationConfiguration) - A base integration class (
Integration) that stores configuration - A dedicated exception type for connection failures (
IntegrationConnectionError)
- A standard configuration container type (
Public API
-
class IntegrationConnectionError(Exception)- Exception type intended for integration connection-related failures.
-
@dataclass class IntegrationConfiguration- Placeholder configuration object to be extended with credentials/settings.
-
class Integration- Base class representing an integration with an external tool/service.
__init__(self, configuration: IntegrationConfiguration)- Stores the provided configuration instance.
Configuration/Dependencies
- Dependencies:
- Standard library:
dataclasses.dataclass
- Standard library:
- Configuration:
IntegrationConfigurationcurrently has no fields; expected to be subclassed/extended.
Usage
from dataclasses import dataclass
from naas_abi_core.integration.integration import (
Integration,
IntegrationConfiguration,
)
@dataclass
class MyConfig(IntegrationConfiguration):
api_key: str
class MyIntegration(Integration):
pass
integration = MyIntegration(MyConfig(api_key="secret"))
Caveats
IntegrationConfigurationis empty in this module; it does not enforce any required settings.Integrationonly stores configuration; it does not implement connection logic or any operational methods.