gemd.entity.bounds.categorical_bounds module

class gemd.entity.bounds.categorical_bounds.CategoricalBounds(categories: Optional[Iterable[str]] = None)

Bases: BaseBounds

Categorical bounds, parameterized by a set of string-valued category labels.

Parameters

categories (list, tuple, or set of strings) – A collection of the allowed categories

as_dict() Dict[str, Any]

Convert bounds to a dictionary.

Returns

A dictionary with “type” and “categories” (a sorted list of the categories).

Return type

dict

static build(d: Mapping[str, Any]) DictSerializableType

Build an object from a JSON dictionary.

This differs from from_dict in that the values themselves may also be dictionaries corresponding to serialized DictSerializable objects.

Parameters

d (dict) – The object as a serialized dictionary.

Returns

The deserialized object.

Return type

DictSerializable

contains(bounds: Union[BaseBounds, BaseValueType]) bool

Check if another bounds object or value object is contained by this bounds.

The other object must also be Categorical and its allowed categories must be a subset of this bounds’s allowed categories.

Parameters

bounds (BaseBounds or BaseValue) – Other bounds or value object to check. If it’s a Value object, check against the smallest compatible bounds, as returned by the Value’s _to_bounds() method.

Returns

True if the other object is contained by this bounds.

Return type

bool

dump() Dict[str, Any]

Convert the object to a JSON dictionary, so that every entry is serialized.

Uses the json encoder client, so objects with uids are converted to LinkByUID dictionaries.

Returns

A string representation of the object as a dictionary.

Return type

str

classmethod from_dict(d: Mapping[str, Any]) DictSerializableType

Reconstitute the object from a dictionary.

Parameters

d (dict) – The object as a dictionary of key-value pairs that correspond to the object’s fields.

Returns

The deserialized object.

Return type

DictSerializable

union(*others: Union[CategoricalBoundsType, CategoricalValueType]) CategoricalBoundsType

Return the union of this bounds and other bounds.

The others list must also be Categorical Bounds or Values.

Parameters

others (CategoricalBounds or CategoricalValue) – Other bounds or value objects to include. If they’re Value objects, increase by the smallest compatible bounds, as returned by the value’s _to_bounds() method.

Returns

The union of this bounds and the passed bounds

Return type

CategoricalBounds

update(*others: Union[CategoricalBoundsType, CategoricalValueType])

Update this bounds to include other bounds.

The others list must also be Categorical Bounds or Values.

Parameters

others (CategoricalBounds or CategoricalValue) – Other bounds or value objects to include. If they’re Value objects, increase by the smallest compatible bounds, as returned by the value’s _to_bounds() method.

property categories: Set[str]

The collection of allowed categories.

skip = {}
typ = 'categorical_bounds'