Skip to content
This repository has been archived by the owner on Jan 28, 2022. It is now read-only.

Commit

Permalink
Merge pull request #191 from Clariteia/0.0.4
Browse files Browse the repository at this point in the history
0.0.4
  • Loading branch information
andrea-mucci authored May 31, 2021
2 parents 649cefa + dd28832 commit d546758
Show file tree
Hide file tree
Showing 47 changed files with 914 additions and 561 deletions.
16 changes: 9 additions & 7 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
Credits
=======
# Credits

Development Lead
----------------
## Development Lead

* Andrea Mucci <andrea@clariteia.com>

Contributors
------------
## Core Devs

* Sergio Garcia Prado <sergio.garcia@clariteia.com>
* Vladyslav Fenchak <vladyslav.fenchak@clariteia.com>`
* Vladyslav Fenchak <vladyslav.fenchak@clariteia.com>
* Alberto Amigo Alonso <alberto.amigo@clariteia.com>

## Contributors

None yet. Why not be the first?
20 changes: 20 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# How to contribute

Minos being an open-source project, we are looking forward to having your contributions. No matter whether it is a pull
request with new features, or the creation of an issue related to a bug you have found.

Please consider these guidelines before you submit any modification.

Create an issue
----------------
1. If you happen to find a bug, please file a new issue filling the 'Bug report' template.
2. Set the appropriate labels, so we can categorise it easily.
3. Wait for any core developer's feedback on it.

Submit a Pull Request
-----------------------
1. Create an issue following the previous steps.
2. Fork the project.
3. Push your changes to a local branch.
4. Run the tests!
5. Submit a pull request from your fork's branch.
142 changes: 128 additions & 14 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,136 @@
History
=======
==========

0.0.1 (2021-05-12)
------------------
0.0.1.1-alpha (2021-03-28)
--------------------------------

* Added Event Handler
* Added Command Handler
* Added Event Recurring Service
* Added Command Recurring Service
* Added Event Broker with Recurrent Service
* Added Command Broker with Recurrent Service
* Added REST Service with Health handler
* First release on PyPI.

0.0.2 (2021-05-17)
------------------

* Completed the Poetry Support
* added actions for documentation
0.0.1.2-alpha (2021-03-31)
-----------------------------

* Completed the Generic Config class Microservices.
* README badges modification.


0.0.1.3-alpha (2021-03-31)
----------------------------

* Updated Markdown for README and HISTORY

0.0.1.4-alpha (2021-04-02)
------------------------------

* Completed the Config Class for YAML Support
* Added a set of tests for the MinosConfig class
* As well from the tests folder would be possible to get and example of
the configuration file for microservices

0.0.1.5-alpha (2021-04-02)
----------------------------

* Added support for database configuration parameters ( events and commands)
* Added set of tests for database config parameters

0.0.1.6 (2021-04-03)
---------------------

* MinosConfig added service parameter

0.0.1.7 (2021-04-06)
----------------------

* Modified the schema structure of Avro generic encoder and decoder


0.0.2 (2021-04-19)
-------------------

* Added support for Model classe
* Added Custom Fields for Minos Model Class
* Added validation attributes for model class ( validation from typing )
* Modified Avro Encoder/Decoder
* Lot of improvements and corrections


0.0.3 (2021-04-26)
--------------------

* Added fastavro support
* Completed Aggregate Model
* Added EventModel and CommandModel classes
* Improved MinosConfig
* added some utilities for internal use
* added Storage Event support for Aggregate

0.0.4 (2021-04-28)
--------------------

* Bug Corrections
* EventModel and CommandModel reformat
* Added support for ModelRef in MinosModel
* Improved MinosConfig

0.0.5 (2021-05-03)
--------------------

* Added PostgreSQL base class for pool connections support
* Added created_at column for Aggregate Event table
* Modified MinosConfig for Snapshot support
* Added database tables setup method

0.0.6 (2021-05-04)
--------------------


0.0.7 (2021-05-06)
--------------------

* Moved CommandModel and EventModel to the model module
* Created CommandReplyModel for Saga reply

0.0.8 (2021-05-07)
--------------------

* Added SAGA Attriubutes in MinosConfig

0.0.9 (2021-05-10)
-------------------

* Added Config Parameters for MinosConfig

0.0.10 (2021-05-11)
---------------------

* Added JSON Binary format
* Improved LMDB support for Saga Binary format

0.0.11 (2021-05-12)
---------------------

* EventModel modified the list of items from Aggregate to MinosModel, for better compatibility
* Added DB Storage Abstract class
* Added code documentation

0.0.12 (2021-05-17)
---------------------

* Added Support for Poetry
* Added action for Doc generation

0.0.13 (2021-05-18)
---------------------

* Added Abstract classes for Saga


0.0.14 (2021-05-20)
--------------------

* Added Dependency Injections Containers
* Modified .gitignore
* Moved Borker Class from static method impl to instance by init

0.0.3 (2021-05-24)
------------------
Expand Down
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ coverage: ## check code coverage quickly with the default Python

reformat: ## check code coverage quickly with the default Python
poetry run black --line-length 120 minos tests
poetry run isort --recursive minos tests
poetry run isort minos tests

docs: ## generate Sphinx HTML documentation, including API docs
rm -rf docs/api
Expand All @@ -86,4 +86,7 @@ dist: clean ## builds source and wheel package
install:
poetry install

update:
poetry update

full-install: clean install
82 changes: 73 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,79 @@
Minos Microservice Networks
===========================
# Minos Microservice Network

[![codecov](https://codecov.io/gh/Clariteia/minos_microservice_networks/branch/main/graph/badge.svg)](https://codecov.io/gh/Clariteia/minos_microservice_networks)
[![codecov](https://codecov.io/gh/Clariteia/minos_microservice_common/branch/main/graph/badge.svg)](https://codecov.io/gh/Clariteia/minos_microservice_common)
![Tests](https://github.com/Clariteia/minos_microservice_common/actions/workflows/python-tests.yml/badge.svg)

![Tests](https://github.com/Clariteia/minos_microservice_networks/actions/workflows/python-tests.yml/badge.svg)
Minos is a framework which helps you create [reactive](https://www.reactivemanifesto.org/) microservices in Python.
Internally, it leverages Event Sourcing, CQRS and a message driven architecture to fulfil the commitments of an
asynchronous environment.

Python Package with the common network classes and utlities used in Minos Microservice
## Set up a development environment

Minos uses `poetry` as its default package manager. Please refer to
(https://python-poetry.org/docs/#installation) for instructions on how to install it.

Credits
-------
Now you con install all the dependencies by running
```bash
make install
```

In order to make the pre-commits checks available to git, run
```bash
pre-commit install
```

Make yourself sure you are able to run the tests. Refer to the appropriate section in this guide.

## Run the tests

In order to run the tests, please make sure you have the [Docker Engine](https://docs.docker.com/engine/install/)
and [Docker Compose](https://docs.docker.com/compose/install/) installed.

Move into `tests/` directory

```bash
cd tests/
```
Run service dependencies:

```bash
docker-compose up -d
```

Install library dependencies:

```bash
make install
```

Run tests:

```bash
make test
```

## How to contribute

Minos being an open-source project, we are looking forward to having your contributions. No matter whether it is a pull
request with new features, or the creation of an issue related to a bug you have found.

Please consider these guidelines before you submit any modification.

### Create an issue

1. If you happen to find a bug, please file a new issue filling the 'Bug report' template.
2. Set the appropriate labels, so we can categorise it easily.
3. Wait for any core developer's feedback on it.

### Submit a Pull Request

1. Create an issue following the previous steps.
2. Fork the project.
3. Push your changes to a local branch.
4. Run the tests!
5. Submit a pull request from your fork's branch.

## Credits

This package was created with ![Cookiecutter](https://github.com/audreyr/cookiecutter) and the ![Minos Package](https://github.com/Clariteia/minos-pypackage) project template.

This package was created with ![Cookiecutter](https://github.com/audreyr/cookiecutter)
and the ![Minos Package](https://github.com/Clariteia/minos-pypackage) project template.
21 changes: 21 additions & 0 deletions RUNTHETESTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Run the tests
==============

In order to run the tests, please make sure you have the `Docker Engine <https://docs.docker.com/engine/install/>`_
and `Docker Compose <https://docs.docker.com/compose/install/>`_ installed.

Move into tests/ directory

`cd tests/`

Run service dependencies:

`docker-compose up -d`

Install library dependencies:

`make install`

Run tests:

`make test`
11 changes: 11 additions & 0 deletions SETUP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Set up a development environment
=================================

Since we use `poetry` as the default package manager, it must be installed. Please refer to
`https://python-poetry.org/docs/#installation`.

Run `poetry install` to get the dependencies.

Run `pre-commit install` to set the git checks before commiting.

Make yourself sure you are able to run the tests. Refer to the appropriate section in this guide.
2 changes: 1 addition & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = python -msphinx
SPHINXPROJ = minos_microservice_networks
SPHINXPROJ = minos_microservice_common
SOURCEDIR = .
BUILDDIR = _build

Expand Down
Loading

0 comments on commit d546758

Please sign in to comment.