Skip to content

pixano.datasets.dataset_features_values

ConstraintDict = Dict[TableName, List[Constraint]] module-attribute

Dict of Constraint, by table.

Keys are table names (TableName), and values are list of constraints (Constraint).

Constraint(name, restricted, values) dataclass

Constraint values.

Attributes:

Name Type Description
name str

name of the field.

restricted bool

whether allowed values are restricted to given values, or user may enter new values.

values List[Union[int, float, str, bool]]

list of allowed values.

DatasetFeaturesValues(**data)

Bases: BaseModel

Constraints for the dataset features values.

Attributes:

Name Type Description
item ConstraintDict

Constraints for the dataset item table.

views ConstraintDict

Constraints for the dataset view tables.

entities ConstraintDict

Constraints for the dataset entity tables.

annotations ConstraintDict

Constraints for the dataset annotation tables.

Source code in pydantic/main.py
def __init__(self, /, **data: Any) -> None:
    """Create a new model by parsing and validating input data from keyword arguments.

    Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be
    validated to form a valid model.

    `self` is explicitly positional-only to allow `self` as a field name.
    """
    # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks
    __tracebackhide__ = True
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
    if self is not validated_self:
        warnings.warn(
            'A custom validator is returning a value other than `self`.\n'
            "Returning anything other than `self` from a top level model validator isn't supported when validating via `__init__`.\n"
            'See the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.',
            stacklevel=2,
        )

from_json(json_fp) staticmethod

Load DatasetFeaturesValues from json file.

Source code in pixano/datasets/dataset_features_values.py
@staticmethod
def from_json(json_fp: Path) -> "DatasetFeaturesValues":
    """Load DatasetFeaturesValues from json file."""
    fv_json = json.loads(json_fp.read_text(encoding="utf-8"))
    fv = DatasetFeaturesValues.model_validate(fv_json)

    return fv

to_json(json_fp)

Save DatasetFeaturesValues to json file.

Source code in pixano/datasets/dataset_features_values.py
def to_json(self, json_fp: Path) -> None:
    """Save DatasetFeaturesValues to json file."""
    json_fp.write_text(json.dumps(self.model_dump(), indent=4), encoding="utf-8")