Transformation API
Manage query transformations (single-step dataframe augmentations) via registered transformers.
register_transformer
register_transformer(name: str, transformer: Union[Transformer, Callable[..., pd.DataFrame]]) -> None
Register an transformer by name. Notes:
-
The implementation registers a set of default transformers (if available) during initialization. You can override or add new transformers via this method.
-
transformermay be an instance implementing theTransformerinterface or a plain callable that accepts a DataFrame and returns a DataFrame.
define_transformation
define_transformation(
query_name: str,
transformer: str,
params: Optional[Dict[str, Any]] = None,
) -> None
Create or update an transformation for a query. Each transformer can be configured at most once per query. Notes: - Defining a transformation registers a dependency in the cube's dependency index so downstream refreshes can be tracked.
list_transformations
list_transformations(query_name: str) -> List[str]
List configured transformer names for the query.
get_transformation_config
get_transformation_config(query_name: str, transformer: Optional[str] = None) -> Dict[str, Any]
Return stored parameters for a transformer in a query. Notes:
-
If
overwrite=Truethe transform result replaces the provided DataFrame; otherwise only newly added columns are joined into the original result. -
If
copy_input=Truethe input DataFrame is copied before calling the transformer; otherwise the transformer may mutate the provided DataFrame. -
The method raises if the named transformer is not registered.
delete_transformation
delete_transformation(query_name: str, transformer: str) -> None
Delete an transformation configuration from a query.
transform
transform(
df: pd.DataFrame,
transformer: Optional[str] = None,
params: Optional[Dict[str, Any]] = None,
*,
overwrite: bool = False,
copy_input: bool = False,
**overrides,
) -> pd.DataFrame
Run a single-step transformation using a registered transformer on the given DataFrame.