datta package

datta.getter(attribute, dependencies=())

Decorator that sets a getter delegate for an attribute. The decorated function should be named as a single underscore: _.

Parameters
  • attribute – Attribute.

  • dependencies – Dependencies.

Returns

Delegate function decorator.

datta.setter(attribute)

Decorator that sets a setter delegate for an attribute. The decorated function should be named as a single underscore: _.

Parameters

attribute – Attribute.

Returns

Delegate function decorator.

datta.deleter(attribute)

Decorator that sets a deleter delegate for an attribute. The decorated function should be named as a single underscore: _.

Parameters

attribute – Attribute.

Returns

Delegate function decorator.

class datta.BaseDataMeta(name, bases, dct, **kwargs)

Bases: BaseStructureMeta

Metaclass for BasePrivateData.

class datta.BasePrivateData

Bases: BaseImmutableStructure

Base private data.

class datta.BaseData

Bases: BasePrivateData, BaseUserImmutableStructure

Base data.

class datta.PrivateDataCollection

Bases: BasePrivateData, BaseImmutableCollectionStructure[T_co]

Private data collection.

relationship = Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, extra_paths=(), builtin_paths=None)

Relationship with values.

class datta.DataCollection

Bases: PrivateDataCollection[T_co], BaseUserImmutableCollectionStructure[T_co]

Base data collection.

class datta.PrivateDictData(*args, **kwargs)

Bases: PrivateDataCollection[KT], ImmutableDictStructure[KT, VT]

Private dictionary data.

value_relationship = Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, extra_paths=(), builtin_paths=None)

Value relationship.

class datta.DictData(*args, **kwargs)

Bases: PrivateDictData[KT, VT], DataCollection[KT], UserImmutableDictStructure[KT, VT]

Dictionary data.

class datta.PrivateListData(initial=())

Bases: PrivateDataCollection[T], ImmutableListStructure[T]

Private dictionary data.

count(value)

Count number of occurrences of a value.

Parameters

value – Value.

Returns

Number of occurrences.

index(value, start=None, stop=None)

Get index of a value.

Parameters
  • value – Value.

  • start – Start index.

  • stop – Stop index.

Returns

Index of value.

Raises

ValueError – Provided stop but did not provide start.

class datta.ListData(initial=())

Bases: PrivateListData[T], DataCollection[T], UserImmutableListStructure[T]

List data.

class datta.PrivateSetData(initial=())

Bases: PrivateDataCollection[T], ImmutableSetStructure[T]

Private set data.

isdisjoint(iterable)

Get whether is a disjoint set of an iterable.

Parameters

iterable – Iterable.

Returns

True if is disjoint.

issubset(iterable)

Get whether is a subset of an iterable.

Parameters

iterable – Iterable.

Returns

True if is subset.

issuperset(iterable)

Get whether is a superset of an iterable.

Parameters

iterable – Iterable.

Returns

True if is superset.

intersection(iterable)

Get intersection.

Parameters

iterable – Iterable.

Returns

Intersection.

symmetric_difference(iterable)

Get symmetric difference.

Parameters

iterable – Iterable.

Returns

Symmetric difference.

union(iterable)

Get union.

Parameters

iterable – Iterable.

Returns

Union.

difference(iterable)

Get difference.

Parameters

iterable – Iterable.

Returns

Difference.

inverse_difference(iterable)

Get an iterable’s difference to this.

Parameters

iterable – Iterable.

Returns

Inverse Difference.

class datta.SetData(initial=())

Bases: PrivateSetData[T], DataCollection[T], UserImmutableSetStructure[T]

Set data.

datta.dict_cls(converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, key_converter=None, key_validator=None, key_types=(), key_subtypes=False, key_serializer=<estruttura._relationship.TypedSerializer object>, extra_paths=(), builtin_paths=None, qualified_name=None, dict_type=<class 'datta._dict.DictData'>, cls_dct=None, cls_module=None, relationship_type=<class 'datta._relationship.Relationship'>, relationship_kwargs=None, key_relationship_type=<class 'datta._relationship.Relationship'>, key_relationship_kwargs=None)

Build a dictionary structure class.

Parameters
  • converter – Callable value converter.

  • validator – Callable value validator.

  • types – Types for runtime value checking.

  • subtypes – Whether to accept subtypes for values.

  • serializer – Value serializer.

  • key_converter – Callable key converter.

  • key_validator – Callable key validator.

  • key_types – Types for runtime key checking.

  • key_subtypes – Whether to accept subtypes for keys.

  • key_serializer – Key serializer.

  • extra_paths – Extra module paths in fallback order.

  • builtin_paths – Builtin module paths in fallback order.

  • qualified_name – Qualified name.

  • dict_type – Base class.

  • cls_dct – Class body.

  • cls_module – Class module.

  • relationship_type – Value relationship class.

  • relationship_kwargs – Value relationship keyword arguments.

  • key_relationship_type – Key relationship class.

  • key_relationship_kwargs – Key relationship keyword arguments.

Returns

Dictionary structure class.

datta.list_cls(converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, extra_paths=(), builtin_paths=None, qualified_name=None, list_type=<class 'datta._list.ListData'>, cls_dct=None, cls_module=None, relationship_type=<class 'datta._relationship.Relationship'>, relationship_kwargs=None)

Build a list structure class.

Parameters
  • converter – Callable value converter.

  • validator – Callable value validator.

  • types – Types for runtime checking.

  • subtypes – Whether to accept subtypes.

  • serializer – Serializer.

  • extra_paths – Extra module paths in fallback order.

  • builtin_paths – Builtin module paths in fallback order.

  • qualified_name – Qualified name.

  • list_type – Base class.

  • cls_dct – Class body.

  • cls_module – Class module.

  • relationship_type – Relationship class.

  • relationship_kwargs – Relationship keyword arguments.

Returns

List structure class.

datta.set_cls(converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, extra_paths=(), builtin_paths=None, qualified_name=None, set_type=<class 'datta._set.SetData'>, cls_dct=None, cls_module=None, relationship_type=<class 'datta._relationship.Relationship'>, relationship_kwargs=None)

Build a set structure class.

Parameters
  • converter – Callable value converter.

  • validator – Callable value validator.

  • types – Types for runtime checking.

  • subtypes – Whether to accept subtypes.

  • serializer – Serializer.

  • extra_paths – Extra module paths in fallback order.

  • builtin_paths – Builtin module paths in fallback order.

  • qualified_name – Qualified name.

  • set_type – Base class.

  • cls_dct – Class body.

  • cls_module – Class module.

  • relationship_type – Relationship class.

  • relationship_kwargs – Relationship keyword arguments.

Returns

Set structure class.

datta.attribute(default=MissingType.MISSING, factory=MissingType.MISSING, converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, required=None, init=None, init_as=None, settable=None, deletable=None, serializable=None, serialize_as=None, serialize_default=True, constant=False, repr=None, eq=None, order=None, hash=None, doc='', metadata=None, namespace=None, callback=None, extra_paths=(), builtin_paths=None, attribute_type=<class 'datta._attribute.Attribute'>, attribute_kwargs=None, relationship_type=<class 'datta._relationship.Relationship'>, relationship_kwargs=None)

Define an attribute.

Parameters
  • default – Default value.

  • factory – Default factory.

  • converter – Callable value converter.

  • validator – Callable value validator.

  • types – Types for runtime checking.

  • subtypes – Whether to accept subtypes.

  • serializer – Serializer.

  • required – Whether it is required to have a value.

  • init – Whether to include in the __init__ method.

  • init_as – Alternative attribute or name to use when initializing.

  • settable – Whether the value can be changed after being set.

  • deletable – Whether the value can be deleted.

  • serializable – Whether it’s serializable.

  • serialize_as – Alternative attribute or name to use when serializing.

  • serialize_default – Whether to serialize default value.

  • constant – Whether attribute is a class constant.

  • repr – Whether to include in the __repr__ method.

  • eq – Whether to include in the __eq__ method.

  • order – Whether to include in the __lt__, __le__, __gt__, __ge__ methods.

  • hash – Whether to include in the __hash__ method.

  • doc – Documentation.

  • metadata – User metadata.

  • namespace – Namespace.

  • callback – Callback that runs after attribute has been named/owned by class.

  • extra_paths – Extra module paths in fallback order.

  • builtin_paths – Builtin module paths in fallback order.

  • attribute_type – Attribute class.

  • attribute_kwargs – Attribute keyword arguments.

  • relationship_type – Relationship class.

  • relationship_kwargs – Relationship keyword arguments.

Returns

Attribute.

datta.dict_attribute(default=MissingType.MISSING, factory=MissingType.MISSING, converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, key_converter=None, key_validator=None, key_types=(), key_subtypes=False, key_serializer=<estruttura._relationship.TypedSerializer object>, required=None, init=None, init_as=None, settable=None, deletable=None, serializable=None, serialize_as=None, serialize_default=True, constant=False, repr=None, eq=None, order=None, hash=None, doc='', metadata=None, callback=None, extra_paths=(), builtin_paths=None, attribute_type=<class 'datta._attribute.Attribute'>, attribute_kwargs=None, dict_type=<class 'datta._dict.DictData'>, cls_dct=None, cls_module=None, relationship_type=<class 'datta._relationship.Relationship'>, relationship_kwargs=None, key_relationship_type=<class 'datta._relationship.Relationship'>, key_relationship_kwargs=None)
datta.list_attribute(default=MissingType.MISSING, factory=MissingType.MISSING, converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, required=None, init=None, init_as=None, settable=None, deletable=None, serializable=None, serialize_as=None, serialize_default=True, constant=False, repr=None, eq=None, order=None, hash=None, doc='', metadata=None, callback=None, extra_paths=(), builtin_paths=None, attribute_type=<class 'datta._attribute.Attribute'>, attribute_kwargs=None, list_type=<class 'datta._list.ListData'>, cls_dct=None, cls_module=None, relationship_type=<class 'datta._relationship.Relationship'>, relationship_kwargs=None)
datta.set_attribute(default=MissingType.MISSING, factory=MissingType.MISSING, converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, required=None, init=None, init_as=None, settable=None, deletable=None, serializable=None, serialize_as=None, serialize_default=True, constant=False, repr=None, eq=None, order=None, hash=None, doc='', metadata=None, callback=None, extra_paths=(), builtin_paths=None, attribute_type=<class 'datta._attribute.Attribute'>, attribute_kwargs=None, set_type=<class 'datta._set.SetData'>, cls_dct=None, cls_module=None, relationship_type=<class 'datta._relationship.Relationship'>, relationship_kwargs=None)
class datta.MissingType(value)

Bases: Enum

Enum type for MISSING sentinel.

MISSING = 'MISSING'
class datta.DeletedType(value)

Bases: Enum

Enum type for DELETED sentinel.

DELETED = 'DELETED'
class datta.DefaultType(value)

Bases: Enum

Enum type for DEFAULT sentinel.

DEFAULT = 'DEFAULT'
class datta.Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, extra_paths=(), builtin_paths=None)

Bases: Relationship[T]

Describes a relationship between the data and the values it contains.

class datta.Attribute(default=MissingType.MISSING, factory=MissingType.MISSING, relationship=Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=<estruttura._relationship.TypedSerializer object>, extra_paths=(), builtin_paths=None), required=None, init=None, init_as=None, settable=None, deletable=None, serializable=None, serialize_as=None, serialize_default=True, constant=False, repr=None, eq=None, order=None, hash=None, doc='', metadata=None, namespace=None, callback=None, extra_paths=(), builtin_paths=None)

Bases: Attribute[T_co]

class datta.DataMeta(name, bases, dct, **kwargs)

Bases: StructureMeta, BaseDataMeta

Metaclass for PrivateData.

class datta.PrivateData(*args, **kwargs)

Bases: BasePrivateData, ImmutableStructure

Private data.

attributes = Namespace(AttributeMap([]))
class datta.Data(*args, **kwargs)

Bases: PrivateData, BaseData, UserImmutableStructure

Data.

attributes = Namespace(AttributeMap([]))

Submodules