v0.3.2 2026-01-09
Breaking plugin changes
-
required_resourceshas been removed from task metadata objects. -
There are two new column generator base classes to streamline model usage:
In data_designer.engine.column_generators.generators.base:
class ColumnGeneratorWithModelRegistry(ColumnGenerator[TaskConfigT], ABC):
@property
def model_registry(self) -> ModelRegistry:
return self.resource_provider.model_registry
def get_model(self, model_alias: str) -> ModelFacade:
return self.model_registry.get_model(model_alias=model_alias)
def get_model_config(self, model_alias: str) -> ModelConfig:
return self.model_registry.get_model_config(model_alias=model_alias)
def get_model_provider_name(self, model_alias: str) -> str:
provider = self.model_registry.get_model_provider(model_alias=model_alias)
return provider.name
class ColumnGeneratorWithModel(ColumnGeneratorWithModelRegistry[TaskConfigT], ABC):
@functools.cached_property
def model(self) -> ModelFacade:
return self.get_model(model_alias=self.config.model_alias)
@functools.cached_property
def model_config(self) -> ModelConfig:
return self.get_model_config(model_alias=self.config.model_alias)
@functools.cached_property
def inference_parameters(self) -> BaseInferenceParams:
return self.model_config.inference_parameters
def log_pre_generation(self) -> None:
logger.info(f"{self.config.column_type} model configuration for generating column '{self.config.name}'")
logger.info(f" |-- model: {self.model_config.model!r}")
logger.info(f" |-- model alias: {self.config.model_alias!r}")
logger.info(f" |-- model provider: {self.get_model_provider_name(model_alias=self.config.model_alias)!r}")
logger.info(f" |-- inference parameters: {self.inference_parameters.format_for_display()}")If you need to use models in your generator, subclass from one of these base classes.
What's Changed
- refactor: update required resources treatment and use subclasses over mixins by @johnnygreco in #184
- feat: Seed dataset plugins by @mikeknep in #191
- chore: update header script to check for diffs by @johnnygreco in #195
Full Changelog: v0.3.1...v0.3.2