minos.aggregate.entities.models

Classes

Entity

Entity class.

ExternalEntity

External Entity class.

RootEntity

Base Root Entity class.

class Entity[source]

Bases: DeclarativeModel

Entity class.

uuid: UUID
__init__(*args, uuid=None, **kwargs)[source]

Class constructor.

Parameters
  • kwargs – Named arguments to be set as model attributes.

  • uuid (Optional[UUID]) –

property avro_bytes: bytes

Generate bytes representation of the current instance.

Returns

A bytes object.

property avro_data: dict[str, Any]

Compute the avro data of the model.

Returns

A dictionary object.

avro_schema = [{'name': 'Entity', 'namespace': 'minos.aggregate.entities.models.091171cf-21ca-491c-9698-0bddc5808846', 'type': 'record', 'fields': [{'name': 'uuid', 'type': {'type': 'string', 'logicalType': 'uuid'}}]}]
property avro_str: str

Generate bytes representation of the current instance.

Returns

A bytes object.

classname = 'minos.aggregate.entities.models.Entity'
static decode_data(decoder, target, type_, **kwargs)

Decode data with the given decoder.

Parameters
  • decoder (DataDecoder) – The decoder instance.

  • target (Any) – The data to be decoded.

  • type – The data type.

  • kwargs – Additional named arguments.

  • type_ (ModelType) –

Returns

A decoded instance.

Return type

Any

static decode_schema(decoder, target, **kwargs)

Decode schema with the given encoder.

Parameters
  • decoder (SchemaDecoder) – The decoder instance.

  • target (Any) – The schema to be decoded.

  • kwargs – Additional named arguments.

Returns

The decoded schema as a type.

Return type

Any

static encode_data(encoder, target, **kwargs)

Encode data with the given encoder.

Parameters
  • encoder (DataEncoder) – The encoder instance.

  • target (Any) – An optional pre-encoded data.

  • kwargs – Additional named arguments.

Returns

The encoded data of the instance.

Return type

Any

static encode_schema(encoder, target, **kwargs)

Encode schema with the given encoder.

Parameters
  • encoder (SchemaEncoder) – The encoder instance.

  • target (Any) – An optional pre-encoded schema.

  • kwargs – Additional named arguments.

Returns

The encoded schema of the instance.

Return type

Any

property fields: dict[str, minos.common.model.fields.Field]

Fields getter

classmethod from_avro(schema, data)

Build a new instance from the avro schema and data.

Parameters
  • schema (Any) – The avro schema of the model.

  • data (Any) – The avro data of the model.

Returns

A new DynamicModel instance.

Return type

T

classmethod from_avro_bytes(raw, batch_mode=False, **kwargs)

Build a single instance or a sequence of instances from bytes.

Parameters
  • raw (bytes) – A bytes representation of the model.

  • batch_mode (bool) – If True the data is processed as a list of models, otherwise the data is processed as a single model.

  • kwargs – Additional named arguments.

Returns

A single instance or a sequence of instances.

Return type

Union[T, list[~T]]

classmethod from_avro_str(raw, **kwargs)

Build a single instance or a sequence of instances from bytes

Parameters

raw (str) – A str representation of the model.

Returns

A single instance or a sequence of instances.

Return type

Union[T, list[~T]]

classmethod from_model_type(model_type, *args, **kwargs)

Build a DeclarativeModel from a ModelType.

Parameters
  • model_type (ModelType) – ModelType object containing the model structure.

  • args – Positional arguments to be passed to the model constructor.

  • kwargs – Named arguments to be passed to the model constructor.

Returns

A new DeclarativeModel instance.

Return type

T

classmethod from_typed_dict(typed_dict, *args, **kwargs)

Build a Model from a TypeDict and data.

Parameters
  • typed_dict (TypedDict) – TypeDict object containing the DTO’s structure

  • args – Positional arguments to be passed to the model constructor.

  • kwargs – Named arguments to be passed to the model constructor.

Returns

A new DataTransferObject instance.

Return type

T

get(k[, d]) D[k] if k in D, else d.  d defaults to None.
items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
model_type

alias of Entity

classmethod to_avro_bytes(models)

Create a bytes representation of the given object instances.

Parameters

models (list[~T]) – A sequence of minos models.

Returns

A bytes object.

Return type

bytes

classmethod to_avro_str(models)

Build the avro string representation of the given object instances.

Parameters

models (list[~T]) – A sequence of minos models.

Returns

A bytes object.

Return type

str

type_hints = {'uuid': <class 'uuid.UUID'>}
type_hints_parameters = ()
values() an object providing a view on D's values
class ExternalEntity[source]

Bases: Entity

External Entity class.

version: int
__init__(uuid, *args, **kwargs)[source]

Class constructor.

Parameters
  • kwargs – Named arguments to be set as model attributes.

  • uuid (UUID) –

property avro_bytes: bytes

Generate bytes representation of the current instance.

Returns

A bytes object.

property avro_data: dict[str, Any]

Compute the avro data of the model.

Returns

A dictionary object.

property avro_str: str

Generate bytes representation of the current instance.

Returns

A bytes object.

classname = 'minos.aggregate.entities.models.ExternalEntity'
static decode_data(decoder, target, type_, **kwargs)

Decode data with the given decoder.

Parameters
  • decoder (DataDecoder) – The decoder instance.

  • target (Any) – The data to be decoded.

  • type – The data type.

  • kwargs – Additional named arguments.

  • type_ (ModelType) –

Returns

A decoded instance.

Return type

Any

static decode_schema(decoder, target, **kwargs)

Decode schema with the given encoder.

Parameters
  • decoder (SchemaDecoder) – The decoder instance.

  • target (Any) – The schema to be decoded.

  • kwargs – Additional named arguments.

Returns

The decoded schema as a type.

Return type

Any

static encode_data(encoder, target, **kwargs)

Encode data with the given encoder.

Parameters
  • encoder (DataEncoder) – The encoder instance.

  • target (Any) – An optional pre-encoded data.

  • kwargs – Additional named arguments.

Returns

The encoded data of the instance.

Return type

Any

static encode_schema(encoder, target, **kwargs)

Encode schema with the given encoder.

Parameters
  • encoder (SchemaEncoder) – The encoder instance.

  • target (Any) – An optional pre-encoded schema.

  • kwargs – Additional named arguments.

Returns

The encoded schema of the instance.

Return type

Any

property fields: dict[str, minos.common.model.fields.Field]

Fields getter

classmethod from_avro(schema, data)

Build a new instance from the avro schema and data.

Parameters
  • schema (Any) – The avro schema of the model.

  • data (Any) – The avro data of the model.

Returns

A new DynamicModel instance.

Return type

T

classmethod from_avro_bytes(raw, batch_mode=False, **kwargs)

Build a single instance or a sequence of instances from bytes.

Parameters
  • raw (bytes) – A bytes representation of the model.

  • batch_mode (bool) – If True the data is processed as a list of models, otherwise the data is processed as a single model.

  • kwargs – Additional named arguments.

Returns

A single instance or a sequence of instances.

Return type

Union[T, list[~T]]

classmethod from_avro_str(raw, **kwargs)

Build a single instance or a sequence of instances from bytes

Parameters

raw (str) – A str representation of the model.

Returns

A single instance or a sequence of instances.

Return type

Union[T, list[~T]]

classmethod from_model_type(model_type, *args, **kwargs)

Build a DeclarativeModel from a ModelType.

Parameters
  • model_type (ModelType) – ModelType object containing the model structure.

  • args – Positional arguments to be passed to the model constructor.

  • kwargs – Named arguments to be passed to the model constructor.

Returns

A new DeclarativeModel instance.

Return type

T

classmethod from_typed_dict(typed_dict, *args, **kwargs)

Build a Model from a TypeDict and data.

Parameters
  • typed_dict (TypedDict) – TypeDict object containing the DTO’s structure

  • args – Positional arguments to be passed to the model constructor.

  • kwargs – Named arguments to be passed to the model constructor.

Returns

A new DataTransferObject instance.

Return type

T

get(k[, d]) D[k] if k in D, else d.  d defaults to None.
items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
classmethod to_avro_bytes(models)

Create a bytes representation of the given object instances.

Parameters

models (list[~T]) – A sequence of minos models.

Returns

A bytes object.

Return type

bytes

classmethod to_avro_str(models)

Build the avro string representation of the given object instances.

Parameters

models (list[~T]) – A sequence of minos models.

Returns

A bytes object.

Return type

str

type_hints_parameters = ()
values() an object providing a view on D's values
uuid: UUID
class RootEntity[source]

Bases: Entity

Base Root Entity class.

version: int
created_at: datetime
updated_at: datetime
__init__(*args, uuid=NULL_UUID, version=0, created_at=NULL_DATETIME, updated_at=NULL_DATETIME, _event_repository, _snapshot_repository, **kwargs)[source]

Class constructor.

Parameters
async classmethod get(uuid, *, _snapshot_repository, **kwargs)[source]

Get one instance from the database based on its identifier.

Parameters
  • uuid (UUID) – The identifier of the instance.

  • _snapshot_repository (SnapshotRepository) – Snapshot to be set to the root entity.

Returns

A RootEntity instance.

Return type

T

classmethod get_all(ordering=None, limit=None, *, _snapshot_repository, **kwargs)[source]

Get all instance from the database.

Parameters
  • ordering (Optional[_Ordering]) – Optional argument to return the instance with specific ordering strategy. The default behaviour is to retrieve them without any order pattern.

  • limit (Optional[int]) – Optional argument to return only a subset of instances. The default behaviour is to return all the instances that meet the given condition.

  • _snapshot_repository (SnapshotRepository) – Snapshot to be set to the root entity.

Returns

A RootEntity instance.

Return type

AsyncIterator[T]

classmethod find(condition, ordering=None, limit=None, *, _snapshot_repository, **kwargs)[source]

Find a collection of instances based on a given Condition.

Parameters
  • condition (_Condition) – The Condition that must be satisfied by all the instances.

  • ordering (Optional[_Ordering]) – Optional argument to return the instance with specific ordering strategy. The default behaviour is to retrieve them without any order pattern.

  • limit (Optional[int]) – Optional argument to return only a subset of instances. The default behaviour is to return all the instances that meet the given condition.

  • _snapshot_repository (SnapshotRepository) – Snapshot to be set to the instances.

Returns

An asynchronous iterator of RootEntity instances.

Return type

AsyncIterator[T]

async classmethod create(*args, **kwargs)[source]

Create a new RootEntity instance.

Parameters
  • args – Additional positional arguments.

  • kwargs – Additional named arguments.

Returns

A new RootEntity instance.

Return type

T

async update(**kwargs)[source]

Update an existing RootEntity instance.

Parameters
  • kwargs – Additional named arguments.

  • self (T) –

Returns

An updated RootEntity instance.

Return type

T

async save()[source]

Store the current instance on the repository.

If didn’t exist previously creates a new one, otherwise updates the existing one.

Return type

None

async refresh()[source]

Refresh the state of the given instance.

Returns

This method does not return anything.

Return type

None

async delete()[source]

Delete the given root entity instance.

Returns

This method does not return anything.

Return type

None

diff(another)[source]

Compute the difference with another instance.

Both RootEntity instances (self and another) must share the same uuid value.

Parameters

another (RootEntity) – Another RootEntity instance.

Returns

An FieldDiffContainer instance.

Return type

Event

apply_diff(event)[source]

Apply the differences over the instance.

Parameters

event (Event) – The FieldDiffContainer containing the values to be set.

Returns

This method does not return anything.

Return type

None

property avro_bytes: bytes

Generate bytes representation of the current instance.

Returns

A bytes object.

property avro_data: dict[str, Any]

Compute the avro data of the model.

Returns

A dictionary object.

property avro_str: str

Generate bytes representation of the current instance.

Returns

A bytes object.

classname = 'minos.aggregate.entities.models.RootEntity'
static decode_data(decoder, target, type_, **kwargs)

Decode data with the given decoder.

Parameters
  • decoder (DataDecoder) – The decoder instance.

  • target (Any) – The data to be decoded.

  • type – The data type.

  • kwargs – Additional named arguments.

  • type_ (ModelType) –

Returns

A decoded instance.

Return type

Any

static decode_schema(decoder, target, **kwargs)

Decode schema with the given encoder.

Parameters
  • decoder (SchemaDecoder) – The decoder instance.

  • target (Any) – The schema to be decoded.

  • kwargs – Additional named arguments.

Returns

The decoded schema as a type.

Return type

Any

static encode_data(encoder, target, **kwargs)

Encode data with the given encoder.

Parameters
  • encoder (DataEncoder) – The encoder instance.

  • target (Any) – An optional pre-encoded data.

  • kwargs – Additional named arguments.

Returns

The encoded data of the instance.

Return type

Any

static encode_schema(encoder, target, **kwargs)

Encode schema with the given encoder.

Parameters
  • encoder (SchemaEncoder) – The encoder instance.

  • target (Any) – An optional pre-encoded schema.

  • kwargs – Additional named arguments.

Returns

The encoded schema of the instance.

Return type

Any

property fields: dict[str, minos.common.model.fields.Field]

Fields getter

classmethod from_avro(schema, data)

Build a new instance from the avro schema and data.

Parameters
  • schema (Any) – The avro schema of the model.

  • data (Any) – The avro data of the model.

Returns

A new DynamicModel instance.

Return type

T

classmethod from_avro_bytes(raw, batch_mode=False, **kwargs)

Build a single instance or a sequence of instances from bytes.

Parameters
  • raw (bytes) – A bytes representation of the model.

  • batch_mode (bool) – If True the data is processed as a list of models, otherwise the data is processed as a single model.

  • kwargs – Additional named arguments.

Returns

A single instance or a sequence of instances.

Return type

Union[T, list[~T]]

classmethod from_avro_str(raw, **kwargs)

Build a single instance or a sequence of instances from bytes

Parameters

raw (str) – A str representation of the model.

Returns

A single instance or a sequence of instances.

Return type

Union[T, list[~T]]

classmethod from_model_type(model_type, *args, **kwargs)

Build a DeclarativeModel from a ModelType.

Parameters
  • model_type (ModelType) – ModelType object containing the model structure.

  • args – Positional arguments to be passed to the model constructor.

  • kwargs – Named arguments to be passed to the model constructor.

Returns

A new DeclarativeModel instance.

Return type

T

classmethod from_typed_dict(typed_dict, *args, **kwargs)

Build a Model from a TypeDict and data.

Parameters
  • typed_dict (TypedDict) – TypeDict object containing the DTO’s structure

  • args – Positional arguments to be passed to the model constructor.

  • kwargs – Named arguments to be passed to the model constructor.

Returns

A new DataTransferObject instance.

Return type

T

items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
classmethod to_avro_bytes(models)

Create a bytes representation of the given object instances.

Parameters

models (list[~T]) – A sequence of minos models.

Returns

A bytes object.

Return type

bytes

classmethod to_avro_str(models)

Build the avro string representation of the given object instances.

Parameters

models (list[~T]) – A sequence of minos models.

Returns

A bytes object.

Return type

str

type_hints_parameters = ()
values() an object providing a view on D's values
uuid: UUID
classmethod from_diff(event, *args, **kwargs)[source]

Build a new instance from an Event.

Parameters
  • event (Event) – The difference that contains the data.

  • args – Additional positional arguments.

  • kwargs – Additional named arguments.

Returns

A new RootEntity instance.

Return type

T