SegmentationInput#

class caf.base.SegmentationInput(*, naming_order, enum_segments=<factory>, custom_segments=<factory>, subsets=<factory>)[source]#

Bases: BaseConfig

Input class for segmentation objects.

Parameters:
  • enum_segments (list[SegmentsSuper]) – Provide as strings matching enumerations in SegmentsSuper. In 99% of cases segments should be provided in this form. If a segment doesn’t exist in the enumeration it should usually be added.

  • subsets (dict[str, list[int]]) – Define any segments you want subsets of. Keys should match values in ‘enum_segments’, values should be lists defining values from the segment which should be included.

  • custom_segments (list[Segment]) – User defined segments which don’t appear in SegmentsSuper. As stated, in almost all cases a missing segment should be added to that class, and this option is a contingency.

  • naming_order (list[str]) – The naming order of the segments. This primarily affects the index order of the multi-index formed from the segmentation.

Attributes

model_computed_fields

model_config

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

model_extra

Get extra fields set during validation.

model_fields

model_fields_set

Returns the set of fields that have been explicitly set on this model instance.

naming_order

enum_segments

custom_segments

subsets

Methods

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

construct([_fields_set])

copy(*[, include, exclude, update, deep])

Returns a copy of the model.

dict(*[, include, exclude, by_alias, ...])

enums()

Validate the subsets match segments.

from_orm(obj)

from_yaml(text)

Parse class attributes from YAML text.

json(*[, include, exclude, by_alias, ...])

load_yaml(path)

Read YAML file and load the data using from_yaml.

model_construct([_fields_set])

Creates a new instance of the Model class with validated data.

model_copy(*[, update, deep])

!!! abstract "Usage Documentation"

model_dump(*[, mode, include, exclude, ...])

!!! abstract "Usage Documentation"

model_dump_json(*[, indent, ensure_ascii, ...])

!!! abstract "Usage Documentation"

model_json_schema([by_alias, ref_template, ...])

Generates a JSON schema for a model class.

model_parametrized_name(params)

Compute the class name for parametrizations of generic classes.

model_post_init(context, /)

Override this method to perform additional initialization after __init__ and model_construct.

model_rebuild(*[, force, raise_errors, ...])

Try to rebuild the pydantic-core schema for the model.

model_validate(obj, *[, strict, extra, ...])

Validate a pydantic model instance.

model_validate_json(json_data, *[, strict, ...])

!!! abstract "Usage Documentation"

model_validate_strings(obj, *[, strict, ...])

Validate the given object with string data against the Pydantic model.

names_match_segments()

Validate that naming order names match segment names.

no_copied_names()

Validate the custom_segments do not clash with existing segments.

parse_file(path, *[, content_type, ...])

parse_obj(obj)

parse_raw(b, *[, content_type, encoding, ...])

save_yaml(path[, datetime_comment, ...])

Write data from self to a YAML file.

schema([by_alias, ref_template])

schema_json(*[, by_alias, ref_template])

to_yaml()

Convert attributes from self to YAML string.

update_forward_refs(**localns)

validate(value)

write_example(path_, /[, comment_])

Write examples to a config file.

Attributes Documentation

model_computed_fields = {}#
model_config = {}#

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

model_extra#

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to “allow”.

model_fields = {'custom_segments': FieldInfo(annotation=list[Segment], required=False, default_factory=list), 'enum_segments': FieldInfo(annotation=list[SegmentsSuper], required=False, default_factory=list), 'naming_order': FieldInfo(annotation=list[str], required=True), 'subsets': FieldInfo(annotation=dict[str, list[int]], required=False, default_factory=dict)}#
model_fields_set#

Returns the set of fields that have been explicitly set on this model instance.

Returns:
A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

naming_order: list[str][source]#
enum_segments: list[SegmentsSuper][source]#
custom_segments: list[Segment][source]#
subsets: dict[str, list[int]][source]#