estruttura package
- class estruttura.Attribute(default=MissingType.MISSING, factory=MissingType.MISSING, relationship=Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), 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:
ImmutableBasicData,Generic[T_co]Attribute descriptor for structures.
- to_items(usecase=None)
Convert to items.
- Parameters
usecase – Use case.
- Returns
Items.
- get_default_value()
Get default value.
- Returns
Default value.
- Raises
RuntimeError – No valid default value/factory defined.
- process_value(value, location=MissingType.MISSING)
Process value (convert, check type, validate).
- Parameters
value – Value.
location – Optional value location information.
- Returns
Processed value.
- Raises
ProcessingError – Error while processing value.
- getter(*dependencies)
Define a getter delegate method by using a decorator.
- Parameters
dependencies – Attribute dependencies.
- Returns
Getter method decorator.
- Raises
RuntimeError – Can’t define a delegate for a constant attribute.
ValueError – Attribute already named and owned by a class.
ValueError – Getter delegate already defined.
- setter(maybe_func=None)
Define a setter delegate method by using a decorator.
- Returns
Setter method decorator.
- Raises
RuntimeError – Can’t define a delegate for a constant attribute.
ValueError – Attribute already named and owned by a class.
ValueError – Attribute is not settable.
ValueError – Need to define a getter before defining a setter.
ValueError – Setter delegate already defined.
- deleter(maybe_func=None)
Define a deleter delegate method by using a decorator.
- Returns
Deleter method decorator.
- Raises
RuntimeError – Can’t define a delegate for a constant attribute.
ValueError – Attribute already named and owned by a class.
ValueError – Attribute is not deletable.
ValueError – Need to define a getter before defining a deleter.
ValueError – Deleter delegate already defined.
- update(*args, **kwargs)
Make a new attribute with updates.
- Params
Same parameters as
dict.- Returns
Updated attribute.
- property name
Attribute name.
- property owner
Owner class.
- property default
Default value.
- property factory
Default factory.
- property relationship
Relationship.
- property required
Whether it is required to have a value.
- property init
Whether to include in the __init__ method.
- property init_as
Alternative attribute or name to use when initializing.
- property settable
Whether the value can be changed after being set.
- property deletable
Whether the value can be deleted.
- property serializable
Whether it’s serializable.
- property serialize_as
Alternative attribute or name to use when serializing.
- property serialize_default
Whether to serialize default value.
- property constant
Whether attribute is a class constant.
- property repr
Whether to include in the __repr__ method (or a custom repr function).
- property eq
Whether to include in the __eq__ method.
- property order
Whether to include in the __lt__, __le__, __gt__, __ge__ methods.
- property hash
Whether to include in the __hash__ method.
- property doc
Documentation.
- property metadata
User metadata.
- property namespace
Namespace.
- property extra_paths
Extra module paths in fallback order.
- property builtin_paths
Builtin module paths in fallback order.
- property constant_value
Constant value.
- property dependencies
Getter dependencies.
- property recursive_dependencies
Recursive getter dependencies.
- property dependents
Dependents.
- property recursive_dependents
Recursive dependents.
- property fget
Getter function.
- property fset
Setter function.
- property fdel
Deleter function.
- property count
Global count number for this attribute.
- property owned
Whether attribute is owned by a class or not.
- property named
Whether attribute is named by a class or not.
- property delegated
Whether attribute has at least a getter delegate.
- property has_default
Whehter attribute has a default value/default factory.
- class estruttura.MutableAttribute(default=MissingType.MISSING, factory=MissingType.MISSING, relationship=Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), 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]Mutable attribute descriptor.
- estruttura.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.
- estruttura.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.
- estruttura.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.
- estruttura.get_global_attribute_count()
Get global number of initialized attributes.
- Returns
Global attribute count.
- class estruttura.BaseStructureMeta(name, bases, dct, **kwargs)
Bases:
SlottedBaseMetaMetaclass for
BaseStructure.
- class estruttura.BaseStructure
Bases:
SlottedBaseBase structure.
- abstract serialize()
Serialize.
- Returns
Serialized.
- Raises
SerializationError – Error while serializing.
- abstract classmethod deserialize(serialized)
Deserialize.
- Parameters
serialized – Serialized.
- Returns
Structure.
- Raises
SerializationError – Error while deserializing.
- class estruttura.BaseUserStructure
Bases:
BaseStructureBase user structure.
- class estruttura.BaseImmutableStructure
Bases:
BaseStructure,SlottedHashableBase immutable structure.
- class estruttura.BaseUserImmutableStructure
Bases:
BaseImmutableStructure,BaseUserStructureBase user immutable structure.
- class estruttura.BaseMutableStructure
Bases:
BaseStructureBase mutable structure.
- class estruttura.BaseUserMutableStructure
Bases:
BaseMutableStructure,BaseUserStructureBase user mutable structure.
- class estruttura.BaseCollectionStructure(*args, **kwds)
Bases:
BaseStructure,SlottedCollection[T_co]Base collection structure.
- relationship = Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), extra_paths=(), builtin_paths=None)
Relationship with values.
- class estruttura.BaseUserCollectionStructure(*args, **kwds)
Bases:
BaseCollectionStructure[T_co],BaseUserStructureBase user collection structure.
- class estruttura.BaseImmutableCollectionStructure(*args, **kwds)
Bases:
BaseCollectionStructure[T_co],BaseImmutableStructureImmutable collection structure.
- class estruttura.BaseUserImmutableCollectionStructure(*args, **kwds)
Bases:
BaseImmutableCollectionStructure[T_co],BaseUserCollectionStructure[T_co]Base user immutable collection structure.
- clear()
Clear.
- Returns
Transformed.
- class estruttura.BaseMutableCollectionStructure(*args, **kwds)
Bases:
BaseCollectionStructure[T_co],BaseMutableStructureBase mutable collection structure.
- class estruttura.BaseUserMutableCollectionStructure(*args, **kwds)
Bases:
BaseMutableCollectionStructure[T_co],BaseUserCollectionStructure[T_co]Base user mutable collection structure.
- clear()
Clear.
- class estruttura.AttributeMap(ordered_attributes=())
Bases:
SlottedBase,SlottedHashable,SlottedMapping[KT_str,AT_co]Maps attributes by name.
- ordered_items()
- get_initial_values(args, kwargs, init_property='init', init_method='__init__')
Get initial/deserialized attribute values.
- Parameters
args – Positional arguments.
kwargs – Keyword arguments.
init_property – Which boolean attribute property to use when considering it a init attribute.
init_method – The name of the initialization method receiving the values.
- Returns
Initial attribute values.
- get_update_values(updates, attributed=None)
Get values for an update.
- Parameters
updates – Updated values.
attributed – Instance that holds attribute values.
- Returns
New values and old values.
- class estruttura.StructureMeta(name, bases, dct, **kwargs)
Bases:
BaseStructureMetaMetaclass for
Structure.
- class estruttura.Structure(*args, **kwargs)
Bases:
BaseStructureAttribute class structure.
- attributes = Namespace(AttributeMap([]))
- serialize()
Serialize.
- Returns
Serialized dictionary.
- Raises
SerializationError – Error while serializing.
- classmethod deserialize(serialized)
Deserialize.
- Parameters
serialized – Serialized dictionary.
- Returns
Structure.
- Raises
SerializationError – Error while deserializing.
- class estruttura.UserStructure(*args, **kwargs)
Bases:
Structure,BaseUserStructureUser attribute class structure.
- attributes = Namespace(AttributeMap([]))
- class estruttura.ImmutableStructure(*args, **kwargs)
Bases:
Structure,BaseImmutableStructureImmutable attribute class structure.
- attributes = Namespace(AttributeMap([]))
- class estruttura.UserImmutableStructure(*args, **kwargs)
Bases:
ImmutableStructure,UserStructure,BaseUserImmutableStructureUser immutable attribute class structure.
- discard(name)
Discard attribute value if it’s set.
- Parameters
name – Attribute name.
- Returns
Transformed.
- delete(name)
Delete existing attribute value.
- Parameters
name – Attribute name.
- Returns
Transformed.
- Raises
KeyError – Key is not present.
- set(name, value)
Set value for attribute.
- Parameters
name – Attribute name.
value – Value.
- Returns
Transformed.
- update(*args, **kwargs)
Update attribute values.
Same parameters as
dict.update(). :return: Transformed.
- attributes = Namespace(AttributeMap([]))
- class estruttura.MutableStructure(*args, **kwargs)
Bases:
Structure,BaseMutableStructureMutable attribute class structure.
- attributes = Namespace(AttributeMap([]))
- class estruttura.UserMutableStructure(*args, **kwargs)
Bases:
MutableStructure,UserStructure,BaseUserMutableStructureUser mutable attribute class structure.
- attributes = Namespace(AttributeMap([]))
- discard(name)
Discard attribute value if it’s set.
- Parameters
name – Attribute name.
- Returns
Transformed.
- delete(name)
Delete existing attribute value.
- Parameters
name – Attribute name.
- Returns
Transformed.
- Raises
KeyError – Key is not present.
- set(name, value)
Set value for attribute.
- Parameters
name – Attribute name.
value – Value.
- Returns
Transformed.
- Raises
KeyError – Key is not present.
- update(*args, **kwargs)
Update attribute values.
Same parameters as
dict.update(). :return: Transformed.
- class estruttura.DictStructure(*args, **kwargs)
Bases:
BaseCollectionStructure[KT],SlottedMapping[KT,VT]Dictionary structure.
- value_relationship = Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), extra_paths=(), builtin_paths=None)
Value relationship.
- serialize()
Serialize.
- Returns
Serialized dictionary.
- Raises
SerializationError – Error while serializing.
- classmethod deserialize(serialized)
Deserialize.
- Parameters
serialized – Serialized mapping.
- Returns
Dictionary structure.
- Raises
SerializationError – Error while deserializing.
- class estruttura.UserDictStructure(*args, **kwargs)
Bases:
DictStructure[KT,VT],BaseUserCollectionStructure[KT]User dictionary structure.
- class estruttura.ImmutableDictStructure(*args, **kwargs)
Bases:
DictStructure[KT,VT],BaseImmutableCollectionStructure[KT]Immutable dictionary structure.
- class estruttura.UserImmutableDictStructure(*args, **kwargs)
Bases:
ImmutableDictStructure[KT,VT],UserDictStructure[KT,VT],BaseUserImmutableCollectionStructure[KT]User immutable dictionary structure.
- discard(key)
Discard key if it exists.
- Parameters
key – Key.
- Returns
Transformed.
- delete(key)
Delete existing key.
- Parameters
key – Key.
- Returns
Transformed.
- Raises
KeyError – Key is not present.
- set(key, value)
Set value for key.
- Parameters
key – Key.
value – Value.
- Returns
Transformed.
- update(*args, **kwargs)
Update keys and values.
Same parameters as
dict.update(). :return: Transformed.
- class estruttura.MutableDictStructure(*args, **kwargs)
Bases:
DictStructure[KT,VT],BaseMutableCollectionStructure[KT]Mutable dictionary structure.
- class estruttura.UserMutableDictStructure(*args, **kwargs)
Bases:
MutableDictStructure[KT,VT],UserDictStructure[KT,VT],BaseUserMutableCollectionStructure[KT],SlottedMutableMapping[KT,VT]User mutable dictionary structure.
- pop(key, fallback=MissingType.MISSING)
Get value for key and delete it, return fallback value if key is not present.
- Parameters
key – Key.
fallback – Fallback value.
- Returns
Value or fallback value.
- Raises
KeyError – Key is not present and fallback value not provided.
- discard(key)
Discard key if it exists.
- Parameters
key – Key.
- set(key, value)
Set value for key.
- Parameters
key – Key.
value – Value.
- update(*args, **kwargs)
Update keys and values.
Same parameters as
dict.update().
- class estruttura.ListStructure(initial=())
Bases:
BaseCollectionStructure[T],SlottedSequence[T]List structure.
- serialize()
Serialize.
- Returns
Serialized list.
- Raises
SerializationError – Error while serializing.
- classmethod deserialize(serialized)
Deserialize.
- Parameters
serialized – Serialized iterable.
- Returns
List structure.
- Raises
SerializationError – Error while deserializing.
- abstract count(value)
Count number of occurrences of a value.
- Parameters
value – Value.
- Returns
Number of occurrences.
- abstract 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.
- resolve_index(index, clamp=False)
Resolve index to a positive number.
- Parameters
index – Input index.
clamp – Whether to clamp between zero and the length.
- Returns
Resolved index.
- Raises
IndexError – Index out of range.
- resolve_continuous_slice(slc)
Resolve continuous slice according to length.
- Parameters
slc – Continuous slice.
- Returns
Index and stop.
- Raises
IndexError – Slice is noncontinuous.
- pre_move(item, target_index)
Perform checks before moving values internally and get move indexes.
- Parameters
item – Index/slice.
target_index – Target index.
- Returns
None or (target index, index, stop, post index, post_stop).
- class estruttura.UserListStructure(initial=())
Bases:
ListStructure[T],BaseUserCollectionStructure[T]User list structure.
- class estruttura.ImmutableListStructure(initial=())
Bases:
ListStructure[T],BaseImmutableCollectionStructure[T]Immutable list structure.
- class estruttura.UserImmutableListStructure(initial=())
Bases:
ImmutableListStructure[T],UserListStructure[T],BaseUserImmutableCollectionStructure[T]User immutable list structure.
- append(value)
Append value at the end.
- Parameters
value – Value.
- Returns
Transformed.
- extend(iterable)
Extend at the end with iterable.
- Parameters
iterable – Iterable.
- Returns
Transformed.
- remove(value)
Remove first occurrence of value.
- Parameters
value – Value.
- Returns
Transformed.
- Raises
ValueError – Value is not present.
- reverse()
Reverse values.
- Returns
Transformed.
- sort(key=None)
Sort values.
- Parameters
key – Sorting key function.
- Returns
Transformed (immutable) or self (mutable).
- insert(index, *values)
Insert value(s) at index.
- Parameters
index – Index.
values – Value(s).
- Returns
Transformed.
- move(item, target_index)
Move values internally.
- Parameters
item – Index/slice.
target_index – Target index.
- Returns
Transformed.
- delete(item)
Delete values at index/slice.
- Parameters
item – Index/slice.
- Returns
Transformed.
- set(index, value)
Set value at index.
- Parameters
index – Index.
value – Value.
- Returns
Transformed.
- Raises
IndexError – Invalid index.
- update(item, value)
Update value(s).
- Parameters
item – Index/slice.
value – Value(s).
- Returns
Transformed.
- class estruttura.MutableListStructure(initial=())
Bases:
ListStructure[T],BaseMutableCollectionStructure[T]Mutable list structure.
- class estruttura.UserMutableListStructure(initial=())
Bases:
MutableListStructure[T],UserListStructure[T],BaseUserMutableCollectionStructure[T],SlottedMutableSequence[T]User mutable list structure.
- pop(index=-1)
Pop value from index.
- Parameters
index – Index.
- Returns
Value.
- insert(index, *values)
Insert value(s) at index.
- Parameters
index – Index.
values – Value(s).
- append(value)
Append value at the end.
- Parameters
value – Value.
- extend(iterable)
Extend at the end with iterable.
- Parameters
iterable – Iterable.
- remove(value)
Remove first occurrence of value.
- Parameters
value – Value.
- Raises
ValueError – Value is not present.
- reverse()
Reverse values.
- sort(key=None)
Sort values.
- Parameters
key – Sorting key function.
- move(item, target_index)
Move values internally.
- Parameters
item – Index/slice.
target_index – Target index.
- delete(item)
Delete values at index/slice.
- Parameters
item – Index/slice.
- set(index, value)
Set value at index.
- Parameters
index – Index.
value – Value.
- Returns
Transformed.
- Raises
IndexError – Invalid index.
- update(item, value)
Update value(s).
- Parameters
item – Index/slice.
value – Value(s).
- Returns
Transformed.
- estruttura.resolve_index(length, index, clamp=False)
Resolve list index to a positive number.
- Parameters
length – Length of the list.
index – Input index.
clamp – Whether to clamp between zero and the length.
- Returns
Resolved index.
- Raises
IndexError – Index out of range.
- estruttura.resolve_continuous_slice(length, slc)
Resolve continuous list slice according to length.
- Parameters
length – Length of the list.
slc – Continuous slice.
- Returns
Index and stop.
- Raises
IndexError – Slice is noncontinuous.
- estruttura.pre_move(length, item, target_index)
Perform checks before moving list values internally and get move indexes.
- Parameters
length – Length of the list.
item – Index/slice.
target_index – Target index.
- Returns
None or (target index, index, stop, post index, post stop).
- class estruttura.Relationship(converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), extra_paths=(), builtin_paths=None)
Bases:
ImmutableBasicData,Generic[T]Describes a relationship between an object and its values.
- convert_value(value)
Convert a value.
- Parameters
value – Value.
- Returns
Converted value.
- Raises
ConversionError – Conversion failed.
- validate_value(value)
Validate a value.
- Parameters
value – Value.
- Raises
ValidationError – Validation failed.
- check_value_type(value)
Check value type.
- Parameters
value – Value.
- Raises
InvalidTypeError – Invalid value type.
- process_value(value, location=MissingType.MISSING)
Process value (convert, check type, validate).
- Parameters
value – Value.
location – Optional value location information.
- Returns
Processed value.
- Raises
ProcessingError – Error while processing value.
- accepts_type(value)
Get whether the type of a value is accepted or not.
- Parameters
value – Value.
- Returns
True if type is accepted.
- serialize_value(value)
Serialize value.
- Parameters
value – Value.
- Returns
Serialized value.
- Raises
SerializationError – Error while serializing.
- deserialize_value(serialized)
Deserialize value.
- Parameters
serialized – Serialized value.
- Returns
Value.
- Raises
SerializationError – Error while deserializing.
- to_items(usecase=None)
Convert to items.
- Parameters
usecase – Usecase.
- Returns
Items.
- update(*args, **kwargs)
Make a new relationship with updates.
Same parameters as
dict.update(). :return: Updated relationship.
- property converter
Callable value converter.
- property validator
Callable value validator.
- property types
Types for runtime checking.
- property subtypes
Whether to accept subtypes.
- property serializer
Serializer.
- property extra_paths
Extra module paths in fallback order.
- property builtin_paths
Builtin module paths in fallback order.
- property types_info
Information about relationship types.
- property will_process
Whether value will be processed or not.
- class estruttura.RelationshipTypesInfo(input_types=(), extra_paths=(), builtin_paths=None)
Bases:
ImmutableBasicData,Generic[T]Information about relationship types.
- to_items(usecase=None)
Convert to items.
- Parameters
usecase – Usecase.
- Returns
Items.
- update(*args, **kwargs)
Make a new type info with updates.
Same parameters as
dict.update(). :return: Updated type info.
- property input_types
Input types.
- property all_types
All types.
- property basic_types
Basic types.
- property complex_types
Complex types.
- property mapping_types
Mapping types.
- property iterable_types
Iterable types.
- class estruttura.SetStructure(initial=())
Bases:
BaseCollectionStructure[T],SlottedSet[T]Set structure.
- serialize()
Serialize.
- Returns
Serialized list.
- Raises
SerializationError – Error while serializing.
- classmethod deserialize(serialized)
Deserialize.
- Parameters
serialized – Serialized iterable.
- Returns
Structure.
- Raises
SerializationError – Error while deserializing.
- abstract isdisjoint(iterable)
Get whether is a disjoint set of an iterable.
- Parameters
iterable – Iterable.
- Returns
True if is disjoint.
- abstract issubset(iterable)
Get whether is a subset of an iterable.
- Parameters
iterable – Iterable.
- Returns
True if is subset.
- abstract issuperset(iterable)
Get whether is a superset of an iterable.
- Parameters
iterable – Iterable.
- Returns
True if is superset.
- abstract intersection(iterable)
Get intersection.
- Parameters
iterable – Iterable.
- Returns
Intersection.
- abstract symmetric_difference(iterable)
Get symmetric difference.
- Parameters
iterable – Iterable.
- Returns
Symmetric difference.
- abstract union(iterable)
Get union.
- Parameters
iterable – Iterable.
- Returns
Union.
- abstract difference(iterable)
Get difference.
- Parameters
iterable – Iterable.
- Returns
Difference.
- abstract inverse_difference(iterable)
Get an iterable’s difference to this.
- Parameters
iterable – Iterable.
- Returns
Inverse Difference.
- class estruttura.UserSetStructure(initial=())
Bases:
SetStructure[T],BaseUserCollectionStructure[T]User set structure.
- class estruttura.ImmutableSetStructure(initial=())
Bases:
SetStructure[T],BaseImmutableCollectionStructure[T]Immutable set structure.
- class estruttura.UserImmutableSetStructure(initial=())
Bases:
ImmutableSetStructure[T],UserSetStructure[T],BaseUserImmutableCollectionStructure[T]User immutable set structure.
- add(value)
Add value.
- Parameters
value – Value.
- Returns
Transformed.
- discard(*values)
Discard value(s).
- Parameters
values – Value(s).
- Returns
Transformed.
- remove(*values)
Remove existing value(s).
- Parameters
values – Value(s).
- Returns
Transformed.
- Raises
KeyError – Value is not present.
- update(iterable)
Update with iterable.
- Parameters
iterable – Iterable.
- Returns
Transformed.
- class estruttura.MutableSetStructure(initial=())
Bases:
SetStructure[T],BaseMutableCollectionStructure[T]Mutable set structure.
- class estruttura.UserMutableSetStructure(initial=())
Bases:
MutableSetStructure[T],UserSetStructure[T],BaseUserMutableCollectionStructure[T],SlottedMutableSet[T]User mutable set structure.
- intersection_update(iterable)
Intersect.
- Parameters
iterable – Iterable.
- symmetric_difference_update(iterable)
Symmetric difference.
- Parameters
iterable – Iterable.
- difference_update(iterable)
Difference.
- Parameters
iterable – Iterable.
- add(value)
Add value.
- Parameters
value – Value.
- discard(*values)
Discard value(s).
- Parameters
values – Value(s).
- remove(*values)
Remove existing value(s).
- Parameters
values – Value(s).
- Raises
KeyError – Value is not present.
- update(iterable)
Update with iterable.
- Parameters
iterable – Iterable.
- estruttura.dict_cls(converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), key_converter=None, key_validator=None, key_types=(), key_subtypes=False, key_serializer=TypedSerializer(), extra_paths=(), builtin_paths=None, qualified_name=None, base_type=<class 'estruttura._dict.DictStructure'>, cls_dct=None, cls_module=None, relationship_type=<class 'estruttura._relationship.Relationship'>, relationship_kwargs=None, key_relationship_type=<class 'estruttura._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.
base_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.
- estruttura.list_cls(converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), extra_paths=(), builtin_paths=None, qualified_name=None, base_type=<class 'estruttura._list.ListStructure'>, cls_dct=None, cls_module=None, relationship_type=<class 'estruttura._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.
base_type – Base class.
cls_dct – Class body.
cls_module – Class module.
relationship_type – Relationship class.
relationship_kwargs – Relationship keyword arguments.
- Returns
List structure class.
- estruttura.set_cls(converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), extra_paths=(), builtin_paths=None, qualified_name=None, base_type=<class 'estruttura._set.SetStructure'>, cls_dct=None, cls_module=None, relationship_type=<class 'estruttura._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.
base_type – Base class.
cls_dct – Class body.
cls_module – Class module.
relationship_type – Relationship class.
relationship_kwargs – Relationship keyword arguments.
- Returns
Set structure class.
- estruttura.attribute(default=MissingType.MISSING, factory=MissingType.MISSING, converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), 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 'estruttura._attribute.Attribute'>, attribute_kwargs=None, relationship_type=<class 'estruttura._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.
- estruttura.dict_attribute(default=MissingType.MISSING, factory=MissingType.MISSING, converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), key_converter=None, key_validator=None, key_types=(), key_subtypes=False, key_serializer=TypedSerializer(), 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 'estruttura._attribute.Attribute'>, attribute_kwargs=None, base_type=<class 'estruttura._dict.DictStructure'>, cls_dct=None, cls_module=None, relationship_type=<class 'estruttura._relationship.Relationship'>, relationship_kwargs=None, key_relationship_type=<class 'estruttura._relationship.Relationship'>, key_relationship_kwargs=None)
- estruttura.list_attribute(default=MissingType.MISSING, factory=MissingType.MISSING, converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), 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 'estruttura._attribute.Attribute'>, attribute_kwargs=None, base_type=<class 'estruttura._list.ListStructure'>, cls_dct=None, cls_module=None, relationship_type=<class 'estruttura._relationship.Relationship'>, relationship_kwargs=None)
- estruttura.set_attribute(default=MissingType.MISSING, factory=MissingType.MISSING, converter=None, validator=None, types=(), subtypes=False, serializer=TypedSerializer(), 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 'estruttura._attribute.Attribute'>, attribute_kwargs=None, base_type=<class 'estruttura._set.SetStructure'>, cls_dct=None, cls_module=None, relationship_type=<class 'estruttura._relationship.Relationship'>, relationship_kwargs=None)