Segment#

class caf.base.data_structures.Segment(*, name, values, alias=None, values_aliases=<factory>, exclusions=<factory>, lookups=<factory>)[source]#

Bases: BaseConfig

Class containing info on a Segment, which combined with other Segments form a segmentation.

Parameters:
  • name (str) – The name of the segmentation. Generally this is short form (e.g. ‘p’ instead of ‘purpose’)

  • values (dict[int, str]) – The values forming the segment. Keys are the values, and values are descriptions, e.g. for ‘p’, 1: ‘HB work’. Descriptions don’t tend to get used in DVectors so can be as verbose as desired for clarity.

  • alias (str | None) – Optional alias to use when producing filenames (or other names) from segmentation slices, if not given then name will be used.

  • values_aliases (dict[int, str]) – Optional separate aliases for each value, can be used instead of name and value, e.g. “nhb” for direction 0.

  • exclusions (list[Exclusion]) – Define incompatibilities between segments. See Correspondence class

  • lookups (list[Exclusion]) – Define lookups between segments, essentially the reverse of exclusions. More efficient for segments with mappings, e.g. different defintions of age.

Attributes

exclusion_segs

List the names of segs excluded by this one.

int_values

Return integer values of segment.

lookup_segs

List names of segs with lookups from self.

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.

name

values

alias

values_aliases

exclusions

lookups

Methods

__init__(**data)

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

add_corr_from_df(to_seg[, exclusion])

Add either a lookup or exclusion to a segment from a lookup file.

construct([_fields_set])

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

Returns a copy of the model.

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

drop_indices(other_seg)

Return indices to drop based on exclusions.

extract_values(text)

Extract segment values from string.

from_orm(obj)

from_yaml(text)

Parse class attributes from YAML text.

get_alias()

Get segment alias for use in filenames, if available.

get_value_alias(value)

Get value alias if exists, otherwise return name and value int.

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

load_yaml(path)

Read YAML file and load the data using from_yaml.

lookup_indices(other_seg)

Return indices to include based on lookups.

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.

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.

translate_exclusion(new_seg)

Translate an exclusion from one segment to another.

translate_segment(new_seg[, reverse])

Translate self to new_seg.

update_forward_refs(**localns)

validate(value)

value_regex()

Generate a regular expression to extract segment values.

write_example(path_, /[, comment_])

Write examples to a config file.

Attributes Documentation

exclusion_segs#

List the names of segs excluded by this one.

int_values#

Return integer values of segment.

lookup_segs#

List names of segs with lookups from self.

model_computed_fields = {}#
model_config = {'arbitrary_types_allowed': True}#

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 = {'alias': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'exclusions': FieldInfo(annotation=list[Exclusion], required=False, default_factory=list), 'lookups': FieldInfo(annotation=list[Exclusion], required=False, default_factory=list), 'name': FieldInfo(annotation=str, required=True), 'values': FieldInfo(annotation=dict[int, str], required=True), 'values_aliases': FieldInfo(annotation=dict[int, str], 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.

name: str[source]#
values: dict[int, str][source]#
alias: str | None[source]#
values_aliases: dict[int, str][source]#
exclusions: list[Exclusion][source]#
lookups: list[Exclusion][source]#