Skip to content

Commit 4bd3bc6

Browse files
author
Sergio García Prado
committed
Merge remote-tracking branch 'origin/0.8.x' into 0.8.0
2 parents 4a85647 + f9f6ae4 commit 4bd3bc6

File tree

56 files changed

+357
-223
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+357
-223
lines changed

README.md

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# minos-python: The framework which helps you create reactive microservices in Python
66

7-
[![GitHub Repo stars](https://img.shields.io/github/stars/minos-framework/minos-python?label=GitHub)]
7+
[![GitHub Repo stars](https://img.shields.io/github/stars/minos-framework/minos-python?label=GitHub)](https://github.com/minos-framework/minos-python/stargazers)
88
[![PyPI Latest Release](https://img.shields.io/pypi/v/minos-microservice-common.svg)](https://pypi.org/project/minos-microservice-common/)
99
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/minos-framework/minos-python/pages%20build%20and%20deployment?label=docs)](https://minos-framework.github.io/minos-python)
1010
[![License](https://img.shields.io/github/license/minos-framework/minos-python.svg)](https://github.com/minos-framework/minos-python/blob/main/LICENSE)
@@ -136,7 +136,9 @@ pip install \
136136
minos-microservice-networks \
137137
minos-microservice-saga \
138138
minos-broker-kafka \
139-
minos-http-aiohttp
139+
minos-http-aiohttp \
140+
minos-http-aiopg \
141+
minos-http-lmbdb
140142
```
141143

142144
### Configure a Microservice
@@ -165,26 +167,28 @@ aggregate:
165167
entities:
166168
- main.Foo
167169
repositories:
168-
transaction: minos.aggregate.PostgreSqlTransactionRepository
169-
event: minos.aggregate.PostgreSqlEventRepository
170-
snapshot: minos.aggregate.PostgreSqlSnapshotRepository
170+
transaction: minos.aggregate.DatabaseTransactionRepository
171+
event: minos.aggregate.DatabaseEventRepository
172+
snapshot: minos.aggregate.DatabaseSnapshotRepository
171173
databases:
172174
default:
175+
client: minos.plugins.aiopg.AiopgDatabaseClient
173176
database: foo_db
174177
user: minos
175178
password: min0s
176179
saga:
180+
client: minos.plugins.lmdb.LmdbDatabaseClient
177181
path: "./foo.lmdb"
178182
interfaces:
179183
broker:
180184
port: minos.networks.BrokerPort
181185
publisher:
182186
client: minos.plugins.kafka.KafkaBrokerPublisher
183-
queue: minos.networks.PostgreSqlBrokerPublisherQueue
187+
queue: minos.networks.DatabaseBrokerPublisherQueue
184188
subscriber:
185189
client: minos.plugins.kafka.KafkaBrokerSubscriber
186-
queue: minos.networks.PostgreSqlBrokerSubscriberQueue
187-
validator: minos.networks.PostgreSqlBrokerSubscriberDuplicateValidator
190+
queue: minos.networks.DatabaseBrokerSubscriberQueue
191+
validator: minos.networks.DatabaseBrokerSubscriberDuplicateValidator
188192
http:
189193
port: minos.networks.HttpPort
190194
connector:
@@ -193,8 +197,8 @@ interfaces:
193197
periodic:
194198
port: minos.networks.PeriodicPort
195199
pools:
196-
lock: minos.common.PostgreSqlLockPool
197-
databasse: minos.common.PostgreSqlPool
200+
lock: minos.common.DatabaseLockPool
201+
database: minos.common.DatabaseClientPool
198202
broker: minos.networks.BrokerClientPool
199203
saga:
200204
manager: minos.saga.SagaManager
@@ -949,26 +953,28 @@ aggregate:
949953
entities:
950954
- main.FooBar
951955
repositories:
952-
transaction: minos.aggregate.PostgreSqlTransactionRepository
953-
event: minos.aggregate.PostgreSqlEventRepository
954-
snapshot: minos.aggregate.PostgreSqlSnapshotRepository
956+
transaction: minos.aggregate.DatabaseTransactionRepository
957+
event: minos.aggregate.DatabaseEventRepository
958+
snapshot: minos.aggregate.DatabaseSnapshotRepository
955959
databases:
956960
default:
961+
client: minos.plugins.aiopg.AiopgDatabaseClient
957962
database: foobar_db
958963
user: minos
959964
password: min0s
960965
saga:
966+
client: minos.plugins.lmdb.LmdbDatabaseClient
961967
path: "./foobar.lmdb"
962968
interfaces:
963969
broker:
964970
port: minos.networks.BrokerPort
965971
publisher:
966972
client: minos.plugins.kafka.KafkaBrokerPublisher
967-
queue: minos.networks.PostgreSqlBrokerPublisherQueue
973+
queue: minos.networks.DatabaseBrokerPublisherQueue
968974
subscriber:
969975
client: minos.plugins.kafka.KafkaBrokerSubscriber
970-
queue: minos.networks.PostgreSqlBrokerSubscriberQueue
971-
validator: minos.networks.PostgreSqlBrokerSubscriberDuplicateValidator
976+
queue: minos.networks.DatabaseBrokerSubscriberQueue
977+
validator: minos.networks.DatabaseBrokerSubscriberDuplicateValidator
972978
http:
973979
port: minos.networks.HttpPort
974980
connector:
@@ -977,8 +983,8 @@ interfaces:
977983
periodic:
978984
port: minos.networks.PeriodicPort
979985
pools:
980-
lock: minos.common.PostgreSqlLockPool
981-
databasse: minos.common.PostgreSqlPool
986+
lock: minos.common.DatabaseLockPool
987+
database: minos.common.DatabaseClientPool
982988
broker: minos.networks.BrokerClientPool
983989
saga:
984990
manager: minos.saga.SagaManager
@@ -1091,21 +1097,24 @@ This project follows a modular structure based on python packages.
10911097
10921098
The core packages provide the base implementation of the framework.
10931099
1094-
* [minos-microservice-aggregate](https://minos-framework.github.io/minos-python/packages/core/minos-microservice-aggregate): The Aggregate pattern implementation.
1095-
* [minos-microservice-common](https://minos-framework.github.io/minos-python/packages/core/minos-microservice-common): The common core package.
1096-
* [minos-microservice-cqrs](https://minos-framework.github.io/minos-python/packages/core/minos-microservice-cqrs): The CQRS pattern implementation.
1097-
* [minos-microservice-networks](https://minos-framework.github.io/minos-python/packages/core/minos-microservice-networks): The networks core package.
1098-
* [minos-microservice-saga](https://minos-framework.github.io/minos-python/packages/core/minos-microservice-saga): The SAGA pattern implementation.
1100+
* [minos-microservice-aggregate](https://github.com/minos-framework/minos-python/tree/main/packages/core/minos-microservice-aggregate): The Aggregate pattern implementation.
1101+
* [minos-microservice-common](https://github.com/minos-framework/minos-python/tree/main/packages/core/minos-microservice-common): The common core package.
1102+
* [minos-microservice-cqrs](https://github.com/minos-framework/minos-python/tree/main/packages/core/minos-microservice-cqrs): The CQRS pattern implementation.
1103+
* [minos-microservice-networks](https://github.com/minos-framework/minos-python/tree/main/packages/core/minos-microservice-networks): The networks core package.
1104+
* [minos-microservice-saga](https://github.com/minos-framework/minos-python/tree/main/packages/core/minos-microservice-saga): The SAGA pattern implementation.
10991105
11001106
### Plugins
11011107
11021108
The plugin packages provide connectors to external technologies like brokers, discovery services, databases, serializers and so on.
11031109
1104-
* [minos-broker-kafka](https://minos-framework.github.io/minos-python/packages/plugins/minos-broker-kafka): The `kafka` plugin package.
1105-
* [minos-broker-rabbitmq](https://minos-framework.github.io/minos-python/packages/plugins/minos-broker-rabbitmq): The `rabbitmq` plugin package.
1106-
* [minos-discovery-minos](https://minos-framework.github.io/minos-python/packages/plugins/minos-discovery-minos): The `minos-discovery` plugin package.
1107-
* [minos-http-aiohttp](https://minos-framework.github.io/minos-python/packages/plugins/minos-http-aiohttp): The `aiohttp` plugin package.
1108-
* [minos-router-graphql](https://minos-framework.github.io/minos-python/packages/plugins/minos-router-graphql): The `grapqhl` plugin package.
1110+
* [minos-broker-kafka](https://github.com/minos-framework/minos-python/tree/main/packages/plugins/minos-broker-kafka): The `kafka` plugin package.
1111+
* [minos-broker-rabbitmq](https://github.com/minos-framework/minos-python/tree/main/packages/plugins/minos-broker-rabbitmq): The `rabbitmq` plugin package.
1112+
* [minos-database-aiopg](https://github.com/minos-framework/minos-python/tree/main/packages/plugins/minos-database-aiopg): The `aiopg` plugin package.
1113+
* [minos-database-lmdb](https://github.com/minos-framework/minos-python/tree/main/packages/plugins/minos-database-lmdb): The `lmdb` plugin package.
1114+
* [minos-discovery-kong](https://github.com/minos-framework/minos-python/tree/main/packages/plugins/minos-discovery-kong): The `kong` plugin package.
1115+
* [minos-discovery-minos](https://github.com/minos-framework/minos-python/tree/main/packages/plugins/minos-discovery-minos): The `minos-discovery` plugin package.
1116+
* [minos-http-aiohttp](https://github.com/minos-framework/minos-python/tree/main/packages/plugins/minos-http-aiohttp): The `aiohttp` plugin package.
1117+
* [minos-router-graphql](https://github.com/minos-framework/minos-python/tree/main/packages/plugins/minos-router-graphql): The `grapqhl` plugin package.
11091118
11101119
## Source Code
11111120

packages/core/minos-microservice-aggregate/HISTORY.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,4 +95,18 @@
9595
## 0.6.0 (2022-03-28)
9696

9797
* Replace `dependency-injector`'s injection classes by the ones provided by the `minos.common.injections` module.
98-
* Be compatible with latest `minos.common.Config` API.
98+
* Be compatible with latest `minos.common.Config` API.
99+
100+
## 0.7.0 (2022-05-11)
101+
102+
* Rename `PostgreSqlEventRepository` as `DatabaseEventRepository`.
103+
* Add `EventDatabaseOperationFactory` as the abstract class to be implemented by database clients.
104+
* Move `PostgreSqlSnapshotQueryBuilder` to the `minos-database-aiopg` package.
105+
* Rename `PostgreSqlSnapshotRepository` as `DatabaseSnapshotRepository`.
106+
* Add `SnapshotDatabaseOperationFactory` as the abstract class to be implemented by database clients.
107+
* Remove `PostgreSqlSnapshotReader`, `PostgreSqlSnapshotSetup` and `PostgreSqlSnapshotWriter`.
108+
* Rename `PostgreSqlTransactionRepository` as `DatabaseTransactionRepository`.
109+
* Add `TransactionDatabaseOperationFactory` as the abstract class to be implemented by database clients.
110+
* Unify documentation building pipeline across all `minos-python` packages.
111+
* Fix documentation building warnings.
112+
* Fix bug related with package building and additional files like `AUTHORS.md`, `HISTORY.md`, etc.

packages/core/minos-microservice-aggregate/minos/aggregate/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
__author__ = "Minos Framework Devs"
44
__email__ = "[email protected]"
5-
__version__ = "0.7.0.dev4"
5+
__version__ = "0.7.0"
66

77
from .actions import (
88
Action,

packages/core/minos-microservice-aggregate/poetry.lock

Lines changed: 8 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/core/minos-microservice-aggregate/pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "minos-microservice-aggregate"
3-
version = "0.7.0.dev4"
3+
version = "0.7.0"
44
description = "The Aggregate pattern of the Minos Framework"
55
readme = "README.md"
66
repository = "https://github.com/minos-framework/minos-python"
@@ -31,9 +31,9 @@ include = [
3131

3232
[tool.poetry.dependencies]
3333
python = "^3.9"
34-
minos-microservice-common = { version ="^0.7.0*", allow-prereleases = true }
35-
minos-microservice-networks = { version ="^0.7.0*", allow-prereleases = true }
36-
minos-microservice-transactions = { version ="^0.7.0*", allow-prereleases = true }
34+
minos-microservice-common = "^0.7.0"
35+
minos-microservice-networks = "^0.7.0"
36+
minos-microservice-transactions = "^0.0.0"
3737
cached-property = "^1.5.2"
3838

3939
[tool.poetry.dev-dependencies]

packages/core/minos-microservice-common/HISTORY.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,4 +302,22 @@ routers:
302302

303303
## 0.6.1 (2022-04-01)
304304

305-
* Fix bug that didn't show the correct exception traceback when microservice failures occurred.
305+
* Fix bug that didn't show the correct exception traceback when microservice failures occurred.
306+
307+
## 0.7.0 (2022-05-11)
308+
309+
* Add `DatabaseClient`, `DatabaseClientBuilder` as the base client to execute operation over a database and the builder class.
310+
* Rename `PostgreSqlPool` as `DatabaseClientPool`.
311+
* Add `DatabaseOperation`, `ComposedDatabaseOperation` and `DatabaseOperationFactory` as the classes to build operations to be executed over the database.
312+
* Add `ConnectionException`, `DatabaseClientException`, `IntegrityException`, `ProgrammingException` as the base exceptions to be raised by the `DatabaseClient`.
313+
* Rename `PostgreSqlLock` and `PostgreSqlLockPool` as `DatabaseLock` and `DatabaseLockPool`.
314+
* Rename `PostgreSqlMinosDatabase` as `DatabaseMixin`.
315+
* Add `LockDatabaseOperationFactory` as the base operation factory for locking operations.
316+
* Add `ManagementDatabaseOperationFactory` as the base operation factory for management operations (creation, deletion, etc.).
317+
* Add `TypeHintParser` to unify `ModelType`'s type hints.
318+
* Add `PoolException` as the base exception for pools.
319+
* Add `PoolFactory` as the class with the purpose to build and manage `Pool` instances.
320+
* Remove `MinosStorage` and move `MinosStorageLmdb` to the `minos-database-lmdb` package.
321+
* Unify documentation building pipeline across all `minos-python` packages.
322+
* Fix documentation building warnings.
323+
* Fix bug related with package building and additional files like `AUTHORS.md`, `HISTORY.md`, etc.

packages/core/minos-microservice-common/minos/common/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""The common core of the Minos Framework."""
22
__author__ = "Minos Framework Devs"
33
__email__ = "[email protected]"
4-
__version__ = "0.7.0.dev4"
4+
__version__ = "0.7.0"
55

66
from .builders import (
77
BuildableMixin,

packages/core/minos-microservice-common/poetry.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/core/minos-microservice-common/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "minos-microservice-common"
3-
version = "0.7.0.dev4"
3+
version = "0.7.0"
44
description = "The common core of the Minos Framework"
55
readme = "README.md"
66
repository = "https://github.com/minos-framework/minos-python"

packages/core/minos-microservice-cqrs/HISTORY.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,10 @@
7878

7979
* Replace `dependency-injector`'s injection classes by the ones provided by the `minos.common.injections` module.
8080
* Be compatible with latest `minos.common.Config` API.
81+
82+
## 0.7.0 (2022-05-11)
83+
84+
* Minor improvements.
85+
* Unify documentation building pipeline across all `minos-python` packages.
86+
* Fix documentation building warnings.
87+
* Fix bug related with package building and additional files like `AUTHORS.md`, `HISTORY.md`, etc.

0 commit comments

Comments
 (0)