Data (objetto.data)

Data.

Data Classes

class objetto.data.DataMeta(name, bases, dct)

Metaclass for objetto.data.Data.

Inherits from:
Features:
property _attribute_type

Attribute type.

Return type

type[objetto.data.DataAttribute]

property _attributes

Attributes mapped by name.

Return type

dict[str, objetto.data.DataAttribute]

property _attribute_names

Names mapped by attribute.

Return type

dict[objetto.data.DataAttribute, str]

class objetto.data.Data(**initial)

Data.

Metaclass:
Inherits from:
Inherited by:
Parameters

initial – Initial values.

classmethod _get_relationship(location)

Get relationship at location (attribute name).

Parameters

location (str) – Location (attribute name).

Returns

Relationship.

Return type

objetto.data.DataRelationship

Raises

KeyError – Attribute does not exist.

classmethod _get_attribute(name)

Get attribute by name.

Parameters

name (str) – Attribute name.

Returns

Attribute.

Return type

objetto.data.DataAttribute

Raises

KeyError – Attribute does not exist.

_hash()

Get hash.

Returns

Hash.

Return type

int

_eq(other)

Compare with another data for equality.

Parameters

other – Another data.

Returns

True if equal.

Return type

bool

_clear()

Clear deletable attribute values.

Returns

Transformed.

Return type

objetto.data.Data

Raises

AttributeError – No deletable attributes.

_set(name, value)

Set attribute value.

Parameters
  • name (str) – Attribute name.

  • value – Value.

Returns

Transformed.

Return type

objetto.data.Data

Raises

AttributeError – Attribute is not changeable and already has a value.

_delete(name)

Delete attribute value.

Parameters

name (str) – Attribute name.

Returns

Transformed.

Return type

objetto.data.Data

Raises
_update(*args, **kwargs)

Update multiple attribute values. Same parameters as dict.update().

Returns

Transformed.

Return type

objetto.data.Data

Raises

AttributeError – Attribute is not changeable and already has a value.

classmethod deserialize(serialized, **kwargs)

Deserialize.

Parameters
  • serialized – Serialized.

  • kwargs – Keyword arguments to be passed to the deserializers.

Returns

Deserialized.

Return type

objetto.data.Data

serialize(**kwargs)

Serialize.

Parameters

kwargs – Keyword arguments to be passed to the serializers.

Returns

Serialized.

Return type

dict[str, Any]

property _state

Internal state.

Return type

objetto.states.DictState[str, Any]

class objetto.data.InteractiveData(**initial)

Interactive data.

Inherits from:

Data Attributes

objetto.data.data_attribute(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, default=<objetto._bases.bases.MISSING object>, default_factory=None, required=True, changeable=True, deletable=False, finalized=False, abstracted=False, metadata=None)

Make data attribute.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • default – Default value.

  • default_factory (str or collections.abc.Callable or None) – Default value factory.

  • required (bool) – Whether attribute is required to have a value or not.

  • changeable (bool) – Whether attribute value can be changed.

  • deletable (bool) – Whether attribute value can be deleted.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

Returns

Data attribute.

Return type

objetto.data.DataAttribute

Raises
objetto.data.data_constant_attribute(value, subtypes=False, checked=True, serialized=False, serializer=None, deserializer=None, represented=False, compared=True, finalized=False, abstracted=False, metadata=None)

Make constant data attribute.

Parameters
  • value – Constant value.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to type check when overriding this constant attribute.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

Returns

Constant data attribute.

Return type

objetto.data.DataAttribute

Raises

Auxiliary Data Attributes

objetto.data.data_dict_attribute(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, key_types=(), key_subtypes=False, key_factory=None, default=<objetto._bases.bases.MISSING object>, default_factory=None, required=False, changeable=True, deletable=False, finalized=False, abstracted=False, metadata=None, qual_name=None, unique=False)

Make interactive dictionary data attribute.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • key_types (str or type or None or tuple[str or type or None]) – Key types.

  • key_subtypes (bool) – Whether to accept subtypes for the keys.

  • key_factory (str or collections.abc.Callable or None) – Key factory.

  • default – Default value.

  • default_factory (str or collections.abc.Callable or None) – Default value factory.

  • required (bool) – Whether attribute is required to have a value or not.

  • changeable (bool) – Whether attribute value can be changed.

  • deletable (bool) – Whether attribute value can be deleted.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Interactive dictionary data attribute.

Return type

objetto.data.DataAttribute[objetto.data.InteractiveDictData]

Raises
objetto.data.data_protected_dict_attribute(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, key_types=(), key_subtypes=False, key_factory=None, default=<objetto._bases.bases.MISSING object>, default_factory=None, required=False, changeable=True, deletable=False, finalized=False, abstracted=False, metadata=None, qual_name=None, unique=False)

Make protected dictionary data attribute.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • key_types (str or type or None or tuple[str or type or None]) – Key types.

  • key_subtypes (bool) – Whether to accept subtypes for the keys.

  • key_factory (str or collections.abc.Callable or None) – Key factory.

  • default – Default value.

  • default_factory (str or collections.abc.Callable or None) – Default value factory.

  • required (bool) – Whether attribute is required to have a value or not.

  • changeable (bool) – Whether attribute value can be changed.

  • deletable (bool) – Whether attribute value can be deleted.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Protected dictionary data attribute.

Return type

objetto.data.DataAttribute[objetto.data.DictData]

Raises
objetto.data.data_list_attribute(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, default=<objetto._bases.bases.MISSING object>, default_factory=None, required=False, changeable=True, deletable=False, finalized=False, abstracted=False, metadata=None, qual_name=None, unique=False)

Make interactive list data attribute.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • default – Default value.

  • default_factory (str or collections.abc.Callable or None) – Default value factory.

  • required (bool) – Whether attribute is required to have a value or not.

  • changeable (bool) – Whether attribute value can be changed.

  • deletable (bool) – Whether attribute value can be deleted.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Interactive list data attribute.

Return type

objetto.data.DataAttribute[objetto.data.InteractiveListData]

Raises
objetto.data.data_protected_list_attribute(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, default=<objetto._bases.bases.MISSING object>, default_factory=None, required=False, changeable=True, deletable=False, finalized=False, abstracted=False, metadata=None, qual_name=None, unique=False)

Make protected list data attribute.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • default – Default value.

  • default_factory (str or collections.abc.Callable or None) – Default value factory.

  • required (bool) – Whether attribute is required to have a value or not.

  • changeable (bool) – Whether attribute value can be changed.

  • deletable (bool) – Whether attribute value can be deleted.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Protected list data attribute.

Return type

objetto.data.DataAttribute[objetto.data.ListData]

Raises
objetto.data.data_set_attribute(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, default=<objetto._bases.bases.MISSING object>, default_factory=None, required=False, changeable=True, deletable=False, finalized=False, abstracted=False, metadata=None, qual_name=None, unique=False)

Make interactive set data attribute.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • default – Default value.

  • default_factory (str or collections.abc.Callable or None) – Default value factory.

  • required (bool) – Whether attribute is required to have a value or not.

  • changeable (bool) – Whether attribute value can be changed.

  • deletable (bool) – Whether attribute value can be deleted.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Interactive set data attribute.

Return type

objetto.data.DataAttribute[objetto.data.InteractiveSetData]

Raises
objetto.data.data_protected_set_attribute(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, default=<objetto._bases.bases.MISSING object>, default_factory=None, required=False, changeable=True, deletable=False, finalized=False, abstracted=False, metadata=None, qual_name=None, unique=False)

Make protected set data attribute.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • default – Default value.

  • default_factory (str or collections.abc.Callable or None) – Default value factory.

  • required (bool) – Whether attribute is required to have a value or not.

  • changeable (bool) – Whether attribute value can be changed.

  • deletable (bool) – Whether attribute value can be deleted.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Protected set data attribute.

Return type

objetto.data.DataAttribute[objetto.data.SetData]

Raises

Auxiliary Data Class Factories

objetto.data.data_dict_cls(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, key_types=(), key_subtypes=False, key_factory=None, qual_name=None, unique=False)

Make auxiliary interactive dictionary data class.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • key_types (str or type or None or tuple[str or type or None]) – Key types.

  • key_subtypes (bool) – Whether to accept subtypes for the keys.

  • key_factory (str or collections.abc.Callable or None) – Key factory.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Interactive dictionary data class.

Type

type[objetto.data.InteractiveDictData]

Raises
objetto.data.data_protected_dict_cls(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, key_types=(), key_subtypes=False, key_factory=None, qual_name=None, unique=False)

Make auxiliary protected dictionary data class.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • key_types (str or type or None or tuple[str or type or None]) – Key types.

  • key_subtypes (bool) – Whether to accept subtypes for the keys.

  • key_factory (str or collections.abc.Callable or None) – Key factory.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Protected dictionary data class.

Type

type[objetto.data.DictData]

Raises
objetto.data.data_list_cls(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, qual_name=None, unique=False)

Make auxiliary interactive list data class.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Interactive list data class.

Type

type[objetto.data.InteractiveListData]

Raises
objetto.data.data_protected_list_cls(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, qual_name=None, unique=False)

Make auxiliary protected list data class.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Protected list data class.

Type

type[objetto.data.ListData]

Raises
objetto.data.data_set_cls(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, qual_name=None, unique=False)

Make auxiliary interactive set data class.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Interactive set data class.

Type

type[objetto.data.InteractiveSetData]

Raises
objetto.data.data_protected_set_cls(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True, qual_name=None, unique=False)

Make auxiliary protected set data class.

Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

  • qual_name (str or None) – Optional type qualified name for the generated class.

  • unique (bool) – Whether generated class should have a unique descriptor.

Returns

Protected set data class.

Type

type[objetto.data.SetData]

Raises

Unique Descriptor (for Data)

objetto.data.unique_descriptor()

Descriptor to be used when declaring an objetto.objects.Object or an objetto.data.InteractiveData container class. When used, the hash for the container will be the object ID, and the equality method will compare by identity instead of values. If accessed through an instance, the descriptor will return the unique hash based on the object’s ID.

>>> from objetto import Application, Object, unique_descriptor

>>> class UniqueObject(Object):
...     unique_hash = unique_descriptor()
...
>>> app = Application()
>>> obj = UniqueObject(app)
>>> obj.unique_hash == hash(id(obj))
True
Returns

Unique descriptor.

Return type

objetto.objects.UniqueDescriptor or objetto.data.UniqueDescriptor

Auxiliary Data Classes

Data Dictionary Classes

class objetto.data.DictDataMeta(name, bases, dct)

Metaclass for objetto.data.DictData.

Inherits from:
Features:
  • Defines a base auxiliary type.

property _base_auxiliary_type

Base auxiliary container type.

Return type

type[objetto.data.DictData]

class objetto.data.DictData(initial=())

Dictionary data.

Metaclass:
Inherits from:
Inherited by:
Parameters

initial (collections.abc.Mapping or collections.abc.Iterable[tuple[collections.abc.Hashable, Any]]) – Initial values.

_clear()

Clear all keys and values.

Returns

Transformed.

Return type

objetto.data.DictData

_set(key, value)

Set value for key.

Parameters
Returns

Transformed.

Return type

objetto.data.DictData

_discard(key)

Discard key if it exists.

Parameters

key (collections.abc.Hashable) – Key.

Returns

Transformed.

Return type

objetto.data.DictData

_remove(key)

Delete existing key.

Parameters

key (collections.abc.Hashable) – Key.

Returns

Transformed.

Return type

objetto.data.DictData

_update(*args, **kwargs)

Update keys and values. Same parameters as dict.update().

Returns

Transformed.

Return type

objetto.data.DictData

classmethod deserialize(serialized, **kwargs)

Deserialize.

Parameters
  • serialized (dict) – Serialized.

  • kwargs – Keyword arguments to be passed to the deserializers.

Returns

Deserialized.

Return type

objetto.data.DictData

Raises

objetto.exceptions.SerializationError – Can’t deserialize.

serialize(**kwargs)

Serialize.

Parameters

kwargs – Keyword arguments to be passed to the serializers.

Returns

Serialized.

Return type

dict

Raises

objetto.exceptions.SerializationError – Can’t serialize.

_key_relationship = KeyRelationship(checked=False, factory=None, module=None, subtypes=False, types=frozenset())

Relationship for dictionary keys.

Type

objetto.data.KeyRelationship

property _state

Internal state.

Return type

objetto.states.DictState

class objetto.data.InteractiveDictData(initial=())

Interactive dictionary data.

Inherits from:

Data List Classes

class objetto.data.ListDataMeta(name, bases, dct)

Metaclass for objetto.data.ListData.

Inherits from:
Features:
  • Defines a base auxiliary type.

property _base_auxiliary_type

Base auxiliary container type.

Return type

type[objetto.data.ListData]

class objetto.data.ListData(initial=())

List data.

Metaclass:
Inherits from:
Inherited by:
Parameters

initial (collections.abc.Iterable) – Initial values.

__getitem__(index)

Get value/values at index/from slice.

Parameters

index (int or slice) – Index/slice.

Returns

Value/values.

Return type

Any or objetto.states.ListState

_clear()

Clear all values.

Returns

Transformed.

Return type

objetto.data.ListData

_insert(index, *values)

Insert value(s) at index.

Parameters
Returns

Transformed.

Return type

objetto.data.ListData

Raises

ValueError – No values provided.

_append(value)

Append value at the end.

Parameters

value – Value.

Returns

Transformed.

Return type

objetto.data.ListData

_extend(iterable)

Extend at the end with iterable.

Parameters

iterable (collections.abc.Iterable) – Iterable.

Returns

Transformed.

Return type

objetto.data.ListData

_remove(value)

Remove first occurrence of value.

Parameters

value – Value.

Returns

Transformed.

Return type

objetto.data.ListData

Raises

ValueError – Value is not present.

_reverse()

Reverse values.

Returns

Transformed.

Return type

objetto.data.ListData

_move(item, target_index)

Move values internally.

Parameters
  • item (int or slice) – Index/slice.

  • target_index (int) – Target index.

Returns

Transformed.

Return type

objetto.data.ListData

_delete(item)

Delete values at index/slice.

Parameters

item (int or slice) – Index/slice.

Returns

Transformed.

Return type

objetto.data.ListData

_update(index, *values)

Update value(s) starting at index.

Parameters
  • index (int) – Index.

  • values – Value(s).

Returns

Transformed.

Return type

objetto.data.ListData

Raises

ValueError – No values provided.

classmethod deserialize(serialized, **kwargs)

Deserialize.

Parameters
  • serialized – Serialized.

  • kwargs – Keyword arguments to be passed to the deserializers.

Type

serialized: list

Returns

Deserialized.

Return type

objetto.data.ListData

Raises

objetto.exceptions.SerializationError – Can’t deserialize.

serialize(**kwargs)

Serialize.

Parameters

kwargs – Keyword arguments to be passed to the serializers.

Returns

Serialized.

Return type

list

Raises

objetto.exceptions.SerializationError – Can’t serialize.

property _state

Internal state.

Return type

objetto.states.ListState

class objetto.data.InteractiveListData(initial=())

Interactive list data.

Inherits from:

Data Set Classes

class objetto.data.SetDataMeta(name, bases, dct)

Metaclass for objetto.data.SetData.

Inherits from:
Features:
  • Defines a base auxiliary type.

property _base_auxiliary_type

Base auxiliary container type.

Return type

type[objetto.data.SetData]

class objetto.data.SetData(initial=())

Set data.

Metaclass:
Inherits from:
Inherited by:
Parameters

initial (collections.abc.Iterable) – Initial values.

classmethod _from_iterable(iterable)

Make set state from iterable.

Parameters

iterable (collections.abc.Iterable) – Iterable.

Returns

Set state.

Return type

objetto.states.SetState

_clear()

Clear all values.

Returns

Transformed.

Return type

objetto.data.SetData

_add(value)

Add value.

Parameters

value (collections.abc.Hashable) – Value.

Returns

Transformed.

Return type

objetto.data.SetData

_discard(*values)

Discard value(s).

Parameters

values (collections.abc.Hashable) – Value(s).

Returns

Transformed.

Return type

objetto.data.SetData

Raises

ValueError – No values provided.

_remove(*values)

Remove existing value(s).

Parameters

values – Value(s).

Returns

Transformed.

Return type

objetto.data.SetData

Raises
_replace(value, new_value)

Replace existing value with a new one.

Parameters
Returns

Transformed.

Return type

objetto.data.SetData

Raises

KeyError – Value is not present.

_update(iterable)

Update with iterable.

Parameters

iterable (collections.abc.Iterable[collections.abc.Hashable]) – Iterable.

Returns

Transformed.

Return type

objetto.data.SetData

classmethod deserialize(serialized, **kwargs)

Deserialize.

Parameters
  • serialized (list) – Serialized.

  • kwargs – Keyword arguments to be passed to the deserializers.

Returns

Deserialized.

Return type

objetto.data.SetData

Raises

objetto.exceptions.SerializationError – Can’t deserialize.

serialize(**kwargs)

Serialize.

Parameters

kwargs – Keyword arguments to be passed to the serializers.

Returns

Serialized.

Return type

list

Raises

objetto.exceptions.SerializationError – Can’t serialize.

property _state

Internal state.

Return type

objetto.states.SetState

class objetto.data.InteractiveSetData(initial=())

Interactive set data.

Inherits from:

Data Attribute Descriptor Class

class objetto.data.DataAttributeMeta(name, bases, dct)

Metaclass for objetto.data.DataAttribute.

Inherits from:
Features:
  • Defines relationship type.

property _relationship_type

Relationship type.

Return type

type[objetto.data.DataRelationship]

class objetto.data.DataAttribute(relationship=DataRelationship(checked=False, compared=True, deserializer=None, factory=None, module=None, represented=True, serialized=True, serializer=None, subtypes=False, types=frozenset()), default=<objetto._bases.bases.MISSING object>, default_factory=None, module=None, required=True, changeable=True, deletable=False, finalized=False, abstracted=False, metadata=None)

Attribute descriptor for objetto.data.Data classes.

Metaclass:
Inherits from:
Parameters
  • relationship (objetto.data.DataRelationship) – Relationship.

  • default – Default value.

  • default_factory (str or collections.abc.Callable or None) – Default value factory.

  • module (str or None) – Optional module path to use in case partial paths are provided.

  • required (bool) – Whether attribute is required to have a value or not.

  • changeable (bool) – Whether attribute value can be changed.

  • deletable (bool) – Whether attribute value can be deleted.

  • finalized (bool) – If True, attribute can’t be overridden by subclasses.

  • abstracted (bool) – If True, attribute needs to be overridden by subclasses.

  • metadata – Metadata.

Raises
copy(**kwargs)

Make a copy of this attribute and optionally change some of its parameters.

Parameters

kwargs – New parameters.

Returns

New attribute.

Return type

objetto.data.DataAttribute

property relationship

Relationship.

Return type

objetto.data.DataRelationship

Data Relationship Classes

class objetto.data.DataRelationship(types=(), subtypes=False, checked=None, module=None, factory=None, serialized=True, serializer=None, deserializer=None, represented=True, compared=True)

Relationship between a data structure and its values.

Inherits from:
Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Value factory.

  • serialized (bool) – Whether should be serialized.

  • serializer (str or collections.abc.Callable or None) – Custom serializer.

  • deserializer (str or collections.abc.Callable or None) – Custom deserializer.

  • represented (bool) – Whether should be represented.

  • compared (bool) – Whether the value should be leverage when comparing.

Raises
to_dict()

Convert to dictionary.

Returns

Dictionary.

Return type

dict[str, Any]

property compared

Whether the value should be leverage when comparing.

Return type

bool

class objetto.data.KeyRelationship(types=(), subtypes=False, checked=None, module=None, factory=None)

Relationship between a dictionary auxiliary structure and their keys.

Inherits from:
Parameters
  • types (str or type or None or tuple[str or type or None]) – Types.

  • subtypes (bool) – Whether to accept subtypes.

  • checked (bool) – Whether to perform runtime type check.

  • module (str or None) – Module path for lazy types/factories.

  • factory (str or collections.abc.Callable or None) – Key factory.

Raises
__hash__()

Get hash.

Returns

Hash.

Return type

int

__eq__(other)

Compare with another object for equality.

Parameters

other – Another object.

Returns

True if considered equal.

Return type

bool

__repr__()

Get representation.

Returns

Representation.

Return type

str

to_dict()

Convert to dictionary.

Returns

Dictionary.

Return type

dict[str, Any]

fabricate_key(key, factory=True, **kwargs)

Perform type check and run key through factory.

Parameters
  • key (collections.abc.Hashable) – Key.

  • factory (bool) – Whether to run value through factory.

  • kwargs – Keyword arguments to be passed to the factory.

Returns

Fabricated value.

property types

Types.

Return type

tuple[str or type]

property subtypes

Whether to accept subtypes.

Return type

bool

property checked

Whether to perform runtime type check.

Return type

bool

property module

Module path for lazy types/factories.

Return type

str or None

property factory

Key factory.

Return type

str or collections.abc.Callable or None

property passthrough

Whether does not perform type checks and has no factory.

Return type

bool

Unique Descriptor Class (for Data)

class objetto.data.UniqueDescriptor

Descriptor to be used on objetto.bases.BaseStructure classes. When used, the object ID will be the hash, and the equality method will compare by identity instead of by values. If accessed through an instance, the descriptor will return the object ID.

Inherits from:
__get__(instance, owner)

Get object hash when accessing from instance or this descriptor otherwise.

Parameters
Returns

Object hash based on object ID or this descriptor.

Return type

int or objetto.objects.UniqueDescriptor or objetto.data.UniqueDescriptor