🐍 Minos is a framework which helps you create reactive microservices in Python
PostgreSqlEventRepository
as DatabaseEventRepository
.EventDatabaseOperationFactory
as the abstract class to be implemented by database clients.PostgreSqlSnapshotQueryBuilder
to the minos-database-aiopg
package.PostgreSqlSnapshotRepository
as DatabaseSnapshotRepository
.SnapshotDatabaseOperationFactory
as the abstract class to be implemented by database clients.PostgreSqlSnapshotReader
, PostgreSqlSnapshotSetup
and PostgreSqlSnapshotWriter
.PostgreSqlTransactionRepository
as DatabaseTransactionRepository
.TransactionDatabaseOperationFactory
as the abstract class to be implemented by database clients.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.DatabaseClient
, DatabaseClientBuilder
as the base client to execute operation over a database and the builder class.PostgreSqlPool
as DatabaseClientPool
.DatabaseOperation
, ComposedDatabaseOperation
and DatabaseOperationFactory
as the classes to build operations to be executed over the database.ConnectionException
, DatabaseClientException
, IntegrityException
, ProgrammingException
as the base exceptions to be raised by the DatabaseClient
.PostgreSqlLock
and PostgreSqlLockPool
as DatabaseLock
and DatabaseLockPool
.PostgreSqlMinosDatabase
as DatabaseMixin
.LockDatabaseOperationFactory
as the base operation factory for locking operations.ManagementDatabaseOperationFactory
as the base operation factory for management operations (creation, deletion, etc.).TypeHintParser
to unify ModelType
's type hints.PoolException
as the base exception for pools.PoolFactory
as the class with the purpose to build and manage Pool
instances.MinosStorage
and move MinosStorageLmdb
to the minos-database-lmdb
package.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.PostgreSqlBrokerPublisherQueue
as DatabaseBrokerPublisherQueue
.PostgreSqlBrokerPublisherQueueQueryFactory
as BrokerPublisherQueueDatabaseOperationFactory
.PostgreSqlBrokerQueue
as DatabaseBrokerQueue
.PostgreSqlBrokerQueueBuilder
as DatabaseBrokerQueueBuilder
.PostgreSqlBrokerSubscriberDuplicateValidator
as DatabaseBrokerSubscriberDuplicateValidator
.PostgreSqlBrokerSubscriberDuplicateValidatorBuilder
as DatabaseBrokerSubscriberDuplicateValidatorBuilder
.PostgreSqlBrokerSubscriberDuplicateValidatorQueryFactory
as BrokerSubscriberDuplicateValidatorDatabaseOperationFactory
.PostgreSqlBrokerSubscriberQueue
as DatabaseBrokerSubscriberQueue
.PostgreSqlBrokerSubscriberQueueBuilder
as DatabaseBrokerSubscriberQueueBuilder
.PostgreSqlBrokerSubscriberQueueQueryFactory
as BrokerSubscriberQueueDatabaseOperationFactory
.Builder
to the minos-microservice-common
package.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.SagaExecutionStorage
as SagaExecutionRepository
.DatabaseSagaExecutionRepository
as the implementation of the SagaExecutionRepository
over a database.SagaExecutionDatabaseOperationFactory
as the base operation factory to store saga executions.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.InMemoryQueuedKafkaBrokerPublisher
, PostgreSqlQueuedKafkaBrokerPublisher
, InMemoryQueuedKafkaBrokerSubscriberBuilder
and PostgreSqlQueuedKafkaBrokerSubscriberBuilder
in favor of the use of minos.networks.BrokerPublisherBuilder
and minos.networks.BrokerSubscriberBuilder
.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.AiopgDatabaseClient
as the minos.common.DatabaseClient
implementation for postgres
.AiopgDatabaseOperation
as the minos.common.DatabaseOperation
implementation for postgres
.AiopgLockDatabaseOperationFactory
as the minos.common.LockDatabaseOperationFactory
implementation for postgres
.AiopgManagementDatabaseOperationFactory
as the minos.common.ManagementDatabaseOperationFactory
implementation for postgres
.AiopgBrokerPublisherQueueDatabaseOperationFactory
as the minos.networks.BrokerPublisherQueueDatabaseOperationFactory
implementation for postgres
.AiopgBrokerQueueDatabaseOperationFactory
as the minos.networks.BrokerQueueDatabaseOperationFactory
implementation for postgres
.AiopgBrokerSubscriberDuplicateValidatorDatabaseOperationFactory
as the minos.networks.BrokerSubscriberDuplicateValidatorDatabaseOperationFactory
implementation for postgres
.AiopgBrokerSubscriberQueueDatabaseOperationFactory
as the minos.networks.BrokerSubscriberQueueDatabaseOperationFactory
implementation for postgres
.AiopgEventDatabaseOperationFactory
as the minos.aggregate.EventDatabaseOperationFactory
implementation for postgres
.AiopgSnapshotDatabaseOperationFactory
as the minos.aggregate.SnapshotDatabaseOperationFactory
implementation for postgres
.AiopgSnapshotQueryDatabaseOperationBuilder
to ease the complex snapshot's query building for postgres
.AiopgTransactionDatabaseOperationFactory
as the minos.aggregate.TransactionDatabaseOperationFactory
implementation for postgres
.LmdbDatabaseClient
as the minos.common.DatabaseClient
implementation for lmdb
.LmdbDatabaseOperation
and LmdbDatabaseOperationType
classes to define minos.common.DatabaseOperation
s compatible with the lmdb
database.LmdbSagaExecutionDatabaseOperationFactory
as the minos.saga.SagaExecutionDatabaseOperationFactory
implementation for lmdb
.KongClient
as a class to interact with the kong
API Gateway.KongDiscoveryClient
as the minos.networks.DiscoveryClient
implementation for the kong
API Gateway.middleware
function to automatically extract the user identifier from request's header variable set by the kong
API Gateway.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.AioHttpRequest
's headers
attribute is mutable.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.minos-python
packages.AUTHORS.md
, HISTORY.md
, etc.pyproject.toml
:
minos-database-aiopg
minos-database-lmdb
config.yml
:
client
to database-releated sections:
default
, repository
, snapshot
, broker
, etc. add: client: minos.plugins.aiopg.AiopgDatabaseClient
saga
or saga.storage
add: client: minos.plugins.lmdb.LmdbDatabaseClient
minos.common.PostgreSqlMinosDatabase
-> minos.common.DatabaseMixin
minos.common.PostgreSqlLockPool
-> minos.common.DatabaseLockPool
minos.common.PostgreSqlPool
-> minos.common.DatabaseClientPool
minos.networks.PostgreSqlBrokerPublisherQueue
-> minos.networks.DatabaseBrokerPublisherQueue
minos.networks.PostgreSqlBrokerSubscriberQueue
-> minos.networks.DatabaseBrokerSubscriberQueue
minos.networks.PostgreSqlBrokerSubscriberDuplicateValidator
-> minos.networks.DatabaseBrokerSubscriberDuplicateValidator
minos.aggregate.PostgreSqlTransactionRepository
-> minos.aggregate.DatabaseTransactionRepository
minos.aggregate.PostgreSqlEventRepository
-> minos.aggregate.DatabaseEventRepository
minos.aggregate.PostgreSqlSnapshotRepository
-> minos.aggregate.DatabaseSnapshotRepository
minos.plugins.kafka.InMemoryQueuedKafkaBrokerPublisher
-> minos.plugins.kafka.KafkaBrokerPublisher
minos.plugins.kafka.InMemoryQueuedKafkaBrokerSubscriberBuilder
-> minos.plugins.kafka.KafkaBrokerSubscriberBuilder
minos.plugins.kafka.PostgreSqlQueuedKafkaBrokerPublisher
-> minos.plugins.kafka.KafkaBrokerPublisher
minos.plugins.kafka.PostgreSqlQueuedKafkaBrokerSubscriberBuilder
-> minos.plugins.kafka.KafkaBrokerSubscriberBuilder