dataflow.providers.base¶

Base provider class for the Haive Registry System.

This module defines the base provider class that all specific entity providers inherit from.

Attributes¶

Classes¶

EntityProvider

Base class for entity providers.

Module Contents¶

class dataflow.providers.base.EntityProvider(entity_type: haive.dataflow.models.EntityType)¶

Bases: abc.ABC

Base class for entity providers.

Entity providers are responsible for discovering, registering, and managing specific types of entities in the registry system.

add_configuration(registry_id: str, config_type: haive.dataflow.models.ConfigType, config_data: Any) None¶

Add a configuration to a registry entity.

Parameters:
  • registry_id – Registry entity ID

  • config_type – Type of configuration

  • config_data – Configuration data

add_dependency(registry_id: str, dependent_id: str, dependency_type: haive.dataflow.models.DependencyType) None¶

Add a dependency between registry entities.

Parameters:
  • registry_id – ID of the entity that depends on another

  • dependent_id – ID of the entity being depended on

  • dependency_type – Type of dependency

add_environment_vars(registry_id: str, env_vars: dict[str, bool]) None¶

Add environment variables to a registry entity.

Parameters:
  • registry_id – Registry entity ID

  • env_vars – Dictionary mapping environment variable names to required flag

add_import_log(import_session: str, entity_name: str, status: haive.dataflow.models.ImportStatus, message: str | None = None, traceback_str: str | None = None) None¶

Add an import log entry.

Parameters:
  • import_session – Import session identifier

  • entity_name – Name of the entity being imported

  • status – Import status

  • message – Optional message

  • traceback_str – Optional traceback string

abstractmethod discover(module_paths: list[str] | None = None) list[str]¶

Discover and register entities.

Parameters:

module_paths – Optional list of module paths to search

Returns:

List of registered entity IDs

discover_modules(base_path: str) list[str]¶

Discover all modules under a base path.

Parameters:

base_path – Base module path

Returns:

List of discovered module paths

abstractmethod get_default_search_paths() list[str]¶

Get default search paths for entity discovery.

Returns:

List of package paths to search

is_pydantic_model(obj: Any) bool¶

Check if an object is a Pydantic model.

Parameters:

obj – Object to check

Returns:

True if it’s a Pydantic model, False otherwise

entity_type¶
dataflow.providers.base.logger¶