niamoto.core.plugins.transformers.aggregation package

Submodules

niamoto.core.plugins.transformers.aggregation.binary_counter module

niamoto.core.plugins.transformers.aggregation.database_aggregator module

niamoto.core.plugins.transformers.aggregation.field_aggregator module

Plugin for aggregating fields from different sources.

class niamoto.core.plugins.transformers.aggregation.field_aggregator.FieldConfig(*, source='occurrences', field, target, transformation='direct', units='', labels=<factory>, format=None)

Bases: BaseModel

Configuration for a single field mapping.

This model defines how to extract and transform a field from a source.

Parameters:
  • source (str)

  • field (str)

  • target (str)

  • transformation (Literal['direct', 'count', 'sum', 'stats'])

  • units (str)

  • labels (Dict[str, str])

  • format (Literal['boolean', 'url', 'text', 'number'] | None)

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'example': {'field': 'full_name', 'format': 'text', 'source': 'occurrences', 'target': 'name', 'transformation': 'direct', 'units': ''}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

source: str
field: str
target: str
transformation: Literal['direct', 'count', 'sum', 'stats']
units: str
labels: Dict[str, str]
format: Literal['boolean', 'url', 'text', 'number'] | None
classmethod validate_labels(v)

Convert list of labels to dictionary if needed.

class niamoto.core.plugins.transformers.aggregation.field_aggregator.FieldAggregatorParams(*, fields)

Bases: BaseModel

Parameters for field aggregator plugin.

This model validates the complete parameter set for the field aggregator.

Parameters:

fields (List[FieldConfig])

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'description': 'Aggregate multiple fields from different sources into a unified output'}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

fields: List[FieldConfig]
class niamoto.core.plugins.transformers.aggregation.field_aggregator.FieldAggregatorConfig(*, plugin='field_aggregator', source=None, params)

Bases: PluginConfig

Complete configuration for field aggregator plugin.

Parameters:
plugin: Literal['field_aggregator']
params: FieldAggregatorParams
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class niamoto.core.plugins.transformers.aggregation.field_aggregator.FieldAggregator(db, registry=None)

Bases: TransformerPlugin

Field aggregator transformer.

config_model

alias of FieldAggregatorConfig

param_schema

alias of FieldAggregatorParams

output_structure: Dict[str, str] | None = {'*': 'dict'}
validate_config(config)

Validate configuration and return validated config.

Parameters:

config (Dict[str, Any])

Return type:

FieldAggregatorConfig

transform(data, config)

Transform data according to configuration.

Parameters:
  • data (DataFrame | Dict[str, DataFrame])

  • config (Dict[str, Any])

Return type:

Dict[str, Any]

niamoto.core.plugins.transformers.aggregation.statistical_summary module

niamoto.core.plugins.transformers.aggregation.top_ranking module

Module contents