Minos-python - A framework which helps you create reactive microservices in Python

Comments
  • Test with tavern, the query service set the 'name' parameter with the name of the aggregate

    Test with tavern, the query service set the 'name' parameter with the name of the aggregate

    Describe the bug i have set a model with

    
    class Product(Base):
        __tablename__ = 'product'
    
        id = Column(Integer, primary_key=True)
        uuid = Column(String(60))
        name = Column(String(80))
        description = Column(Text, nullable=True)
        picture = Column(String(120), nullable=True)
        price_id = Column(Integer, ForeignKey('price.id'))
        price = relationship("Price", backref=backref("product", **uselist=False))
    
    

    the command query receive the params from the request and put the name of the aggregate class route in name parameter

    To Reproduce create a model with an attribute called name send as parameter the name to the POST do a GET

    Additional context From the Tavern test suite i will get the following response

    
    {'id': '1', 'uuid': '695c5b8e-b47f-4d55-9c60-addb2eb384da', 'name': 'src.aggregates.Product', 'description': 'Product One in our catalog', 'picture': 'images/product.jpeg', 'price_id': '1'}
    
    
    bug 
    opened by andrea-mucci 8
  • `AUTHORS.md`, `HISTORY.md` and `LICENSE` installed outside the packages

    `AUTHORS.md`, `HISTORY.md` and `LICENSE` installed outside the packages

    We have been facing an issue while downgrading packages within our Docker images related to AUTHORS.md not being found.

    The problem is that the following pyproject configuration adds those files to the wheel distribution but outside the package itself. If you download the wheel and take a look, they are outside of minos. Another way to see the problem is by running pip -V and moving to the installation directory. The files are there among each other package.

    Since the LICENSE already gets imported within the wheel distribution info and the other packages aren't actually important for distribution, I propose to delete that pyproject configuration.

    bug minos-microservice-cqrs minos-microservice-common minos-microservice-saga minos-microservice-aggregate minos-microservice-networks minos-broker-kafka minos-discovery-minos minos-database-aiopg minos-database-lmdb minos-discovery-kong minos-rest-aiohttp minos-router-graphql minos-broker-rabbitmq 
    opened by albamig 4
  • Event class modify get_one and get_all method

    Event class modify get_one and get_all method

    Describe the bug The Event have two method to retrieve the content: get_one()and get_all() those method are not descriptive of which kind os reason are used. a propose to modify to:

    get_attr() and

    get_attrs()

    bug 
    opened by andrea-mucci 4
  • Add support for automatic parsing of `RestRequest` with `Content-Type: multipart/*`

    Add support for automatic parsing of `RestRequest` with `Content-Type: multipart/*`

    Issue by garciparedes Monday Dec 13, 2021 at 11:28 GMT Originally opened as https://github.com/Clariteia/minos_microservice_networks/issues/463


    [TODO]

    wontfix minos-microservice-networks rest 
    opened by garciparedes 3
  • `Field` validation methods are executed always on `Aggregate` instances (also when are retrieved from the database)

    `Field` validation methods are executed always on `Aggregate` instances (also when are retrieved from the database)

    Issue by garciparedes Wednesday Oct 06, 2021 at 08:06 GMT Originally opened as https://github.com/Clariteia/minos_microservice_aggregate/issues/7


    None

    wontfix models minos-microservice-aggregate 
    opened by garciparedes 3
  • `Aggregate.create` and `Aggregate.update` could reach concurrency issues related with validation

    `Aggregate.create` and `Aggregate.update` could reach concurrency issues related with validation

    Issue by garciparedes Wednesday Sep 22, 2021 at 15:51 GMT Originally opened as https://github.com/Clariteia/minos_microservice_aggregate/issues/6


    Suppose and aggregate like Foo:

    class Foo(Aggregate):
        bar: str
    
        async def validate(self) -> None:
            return not Foo.exists_bar(self.bar)
    
        @classmethod
        async def exists_bar(cls, bar: str) -> bool:
            try:
                await cls.find(Condition.EQUAL("bar", bar)).__anext__()
                return True
            except StopAsyncIteration:
                return False
    

    If concurrent creation with same bar value is performed:

    len([foo async for foo in Foo.find(Condition.EQUAL("bar", "example"))])  # 0
    
    await gather(Foo.create("example"), Foo.create("example"))
    
    len([foo async for foo in Foo.find(Condition.EQUAL("bar", "example"))])  # 2
    

    Then, it could be possible that both validate calls are performed before storing any information on the database, so that when both of them call the find method, they do not obtain any instances, so both insertions seems fine, but when gather sentence finishes, more than one Foo instance with same "bar" value exists.

    wontfix events minos-microservice-aggregate 
    opened by garciparedes 3
  • `minos.common.DeclarativeModel` class does not support default values

    `minos.common.DeclarativeModel` class does not support default values

    Issue by vladyslav-fenchak Friday Aug 13, 2021 at 07:57 GMT Originally opened as https://github.com/Clariteia/minos_microservice_common/issues/530


    Example:

    from minos.common import (
        DeclarativeModel,
    )
    
    
    class Inventory(DeclarativeModel):
        amount: int = 0
        reserved: int = 0
        sold: int = 0
    

    Current error message:

    self = <minos.common.model.serializers.avro_data_decoder.AvroDataDecoder object at 0x103a531f0>
    type_field = <class 'int'>
    data = <class 'minos.common.model.types.data_types.MissingSentinel'>
    
        def _cast_single_value(self, type_field: Type, data: Any) -> Any:
            if type_field is NoneType:
                return self._cast_none_value(type_field, data)
        
            if data is None:
                raise MinosReqAttributeException(f"{self._name!r} field is '{None!r}'.")
        
            if data is MissingSentinel:
    >           raise MinosReqAttributeException(f"{self._name!r} field is missing.")
    >           minos.common.exceptions.MinosReqAttributeException: 'reserved' field is missing.
    
    enhancement wontfix nice to have minos-microservice-common 
    opened by garciparedes 3
  • `minos.common.Field` must accept `tuple` type

    `minos.common.Field` must accept `tuple` type

    Issue by garciparedes Monday May 10, 2021 at 13:09 GMT Originally opened as https://github.com/Clariteia/minos_microservice_common/issues/193


    The current MinosModel field typing is not compatible with the tuple type, which causes a big modelling issue in cases in which it's needed to define an unnamed type validation, such us tuple[str, int float] (the fields must have str, int and float types respectively.

    Currently, there is a workaround to obtain a similar behaviour, combining the list + Union operators and writing as list[Union[str, int, float] but the obtained result is not strictly the same, because in this case there is not any ordering constraint nor any sequence-length constraint. In this case a [3, "foo", 4.35] is a valid value, but also a ["foo"] and [] are also fine according to that typing, so that it could carry future type checking errors or misconceptions.

    For the above causes, I propose to extend the MinosModel type compatibility including the tuple.

    ┆Issue is synchronized with this ClickUp task by Unito

    enhancement wontfix nice to have models minos-microservice-common 
    opened by garciparedes 3
  • Bump coverage from 6.3.3 to 6.5.0

    Bump coverage from 6.3.3 to 6.5.0

    Bumps coverage from 6.3.3 to 6.5.0.

    Changelog

    Sourced from coverage's changelog.

    Version 6.5.0 — 2022-09-29

    • The JSON report now includes details of which branches were taken, and which are missing for each file. Thanks, Christoph Blessing (pull 1438). Closes issue 1425.

    • Starting with coverage.py 6.2, class statements were marked as a branch. This wasn't right, and has been reverted, fixing issue 1449_. Note this will very slightly reduce your coverage total if you are measuring branch coverage.

    • Packaging is now compliant with PEP 517, closing issue 1395.

    • A new debug option --debug=pathmap shows details of the remapping of paths that happens during combine due to the [paths] setting.

    • Fix an internal problem with caching of invalid Python parsing. Found by OSS-Fuzz, fixing their bug 50381_.

    .. _bug 50381: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50381 .. _PEP 517: https://peps.python.org/pep-0517/ .. _issue 1395: nedbat/coveragepy#1395 .. _issue 1425: nedbat/coveragepy#1425 .. _pull 1438: nedbat/coveragepy#1438 .. _issue 1449: nedbat/coveragepy#1449

    .. _changes_6-4-4:

    Version 6.4.4 — 2022-08-16

    • Wheels are now provided for Python 3.11.

    .. _changes_6-4-3:

    Version 6.4.3 — 2022-08-06

    • Fix a failure when combining data files if the file names contained glob-like patterns (pull 1405_). Thanks, Michael Krebs and Benjamin Schubert.

    • Fix a messaging failure when combining Windows data files on a different drive than the current directory. (pull 1430, fixing issue 1428). Thanks, Lorenzo Micò.

    • Fix path calculations when running in the root directory, as you might do in

    ... (truncated)

    Commits
    • 0ac2453 docs: sample html report
    • 0954c85 build: prep for 6.5.0
    • 95195b1 docs: changelog for json report branch details
    • 789f175 fix: keep negative arc values
    • aabc540 feat: include branches taken and missed in JSON report. #1425
    • a59fc44 docs: minor tweaks to db docs
    • d296083 docs: add a note to the class-branch change
    • 7f07df6 chore: make upgrade
    • 6bc29a9 build: use the badge action coloring
    • fd36918 fix: class statements shouldn't be branches. #1449
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 2
  • Bump coverage from 6.3.2 to 6.5.0 in /packages/core/minos-microservice-common

    Bump coverage from 6.3.2 to 6.5.0 in /packages/core/minos-microservice-common

    Bumps coverage from 6.3.2 to 6.5.0.

    Changelog

    Sourced from coverage's changelog.

    Version 6.5.0 — 2022-09-29

    • The JSON report now includes details of which branches were taken, and which are missing for each file. Thanks, Christoph Blessing (pull 1438). Closes issue 1425.

    • Starting with coverage.py 6.2, class statements were marked as a branch. This wasn't right, and has been reverted, fixing issue 1449_. Note this will very slightly reduce your coverage total if you are measuring branch coverage.

    • Packaging is now compliant with PEP 517, closing issue 1395.

    • A new debug option --debug=pathmap shows details of the remapping of paths that happens during combine due to the [paths] setting.

    • Fix an internal problem with caching of invalid Python parsing. Found by OSS-Fuzz, fixing their bug 50381_.

    .. _bug 50381: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50381 .. _PEP 517: https://peps.python.org/pep-0517/ .. _issue 1395: nedbat/coveragepy#1395 .. _issue 1425: nedbat/coveragepy#1425 .. _pull 1438: nedbat/coveragepy#1438 .. _issue 1449: nedbat/coveragepy#1449

    .. _changes_6-4-4:

    Version 6.4.4 — 2022-08-16

    • Wheels are now provided for Python 3.11.

    .. _changes_6-4-3:

    Version 6.4.3 — 2022-08-06

    • Fix a failure when combining data files if the file names contained glob-like patterns (pull 1405_). Thanks, Michael Krebs and Benjamin Schubert.

    • Fix a messaging failure when combining Windows data files on a different drive than the current directory. (pull 1430, fixing issue 1428). Thanks, Lorenzo Micò.

    • Fix path calculations when running in the root directory, as you might do in

    ... (truncated)

    Commits
    • 0ac2453 docs: sample html report
    • 0954c85 build: prep for 6.5.0
    • 95195b1 docs: changelog for json report branch details
    • 789f175 fix: keep negative arc values
    • aabc540 feat: include branches taken and missed in JSON report. #1425
    • a59fc44 docs: minor tweaks to db docs
    • d296083 docs: add a note to the class-branch change
    • 7f07df6 chore: make upgrade
    • 6bc29a9 build: use the badge action coloring
    • fd36918 fix: class statements shouldn't be branches. #1449
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 2
  • Bump coverage from 6.3.2 to 6.5.0 in /packages/core/minos-microservice-networks

    Bump coverage from 6.3.2 to 6.5.0 in /packages/core/minos-microservice-networks

    Bumps coverage from 6.3.2 to 6.5.0.

    Changelog

    Sourced from coverage's changelog.

    Version 6.5.0 — 2022-09-29

    • The JSON report now includes details of which branches were taken, and which are missing for each file. Thanks, Christoph Blessing (pull 1438). Closes issue 1425.

    • Starting with coverage.py 6.2, class statements were marked as a branch. This wasn't right, and has been reverted, fixing issue 1449_. Note this will very slightly reduce your coverage total if you are measuring branch coverage.

    • Packaging is now compliant with PEP 517, closing issue 1395.

    • A new debug option --debug=pathmap shows details of the remapping of paths that happens during combine due to the [paths] setting.

    • Fix an internal problem with caching of invalid Python parsing. Found by OSS-Fuzz, fixing their bug 50381_.

    .. _bug 50381: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50381 .. _PEP 517: https://peps.python.org/pep-0517/ .. _issue 1395: nedbat/coveragepy#1395 .. _issue 1425: nedbat/coveragepy#1425 .. _pull 1438: nedbat/coveragepy#1438 .. _issue 1449: nedbat/coveragepy#1449

    .. _changes_6-4-4:

    Version 6.4.4 — 2022-08-16

    • Wheels are now provided for Python 3.11.

    .. _changes_6-4-3:

    Version 6.4.3 — 2022-08-06

    • Fix a failure when combining data files if the file names contained glob-like patterns (pull 1405_). Thanks, Michael Krebs and Benjamin Schubert.

    • Fix a messaging failure when combining Windows data files on a different drive than the current directory. (pull 1430, fixing issue 1428). Thanks, Lorenzo Micò.

    • Fix path calculations when running in the root directory, as you might do in

    ... (truncated)

    Commits
    • 0ac2453 docs: sample html report
    • 0954c85 build: prep for 6.5.0
    • 95195b1 docs: changelog for json report branch details
    • 789f175 fix: keep negative arc values
    • aabc540 feat: include branches taken and missed in JSON report. #1425
    • a59fc44 docs: minor tweaks to db docs
    • d296083 docs: add a note to the class-branch change
    • 7f07df6 chore: make upgrade
    • 6bc29a9 build: use the badge action coloring
    • fd36918 fix: class statements shouldn't be branches. #1449
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 2
  • Bump black from 22.3.0 to 22.12.0 in /packages/core/minos-microservice-common

    Bump black from 22.3.0 to 22.12.0 in /packages/core/minos-microservice-common

    Bumps black from 22.3.0 to 22.12.0.

    Release notes

    Sourced from black's releases.

    22.12.0

    Preview style

    • Enforce empty lines before classes and functions with sticky leading comments (#3302)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

    Configuration

    • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
    • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

    Parser

    • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

    Integrations

    • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)

    22.10.0

    Highlights

    • Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be supported until further notice.

    Stable style

    • Fix a crash when # fmt: on is used on a different block level than # fmt: off (#3281)

    Preview style

    ... (truncated)

    Changelog

    Sourced from black's changelog.

    22.12.0

    Preview style

    • Enforce empty lines before classes and functions with sticky leading comments (#3302)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
    • For assignment statements, prefer splitting the right hand side if the left hand side fits on a single line (#3368)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

    Configuration

    • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
    • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

    Parser

    • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

    Integrations

    • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)

    22.10.0

    Highlights

    • Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be supported until further notice.

    Stable style

    • Fix a crash when # fmt: on is used on a different block level than # fmt: off

    ... (truncated)

    Commits
    • 2ddea29 Prepare release 22.12.0 (#3413)
    • 5b1443a release: skip bad macos wheels for now (#3411)
    • 9ace064 Bump peter-evans/find-comment from 2.0.1 to 2.1.0 (#3404)
    • 19c5fe4 Fix CI with latest flake8-bugbear (#3412)
    • d4a8564 Bump sphinx-copybutton from 0.5.0 to 0.5.1 in /docs (#3390)
    • 2793249 Wordsmith current_style.md (#3383)
    • d97b789 Remove whitespaces of whitespace-only files (#3348)
    • c23a5c1 Clarify that Black runs with --safe by default (#3378)
    • 8091b25 Correctly handle trailing commas that are inside a line's leading non-nested ...
    • ffaaf48 Compare each .gitignore found with an appropiate relative path (#3338)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump coverage from 6.3.2 to 7.0.1 in /packages/core/minos-microservice-common

    Bump coverage from 6.3.2 to 7.0.1 in /packages/core/minos-microservice-common

    Bumps coverage from 6.3.2 to 7.0.1.

    Changelog

    Sourced from coverage's changelog.

    Version 7.0.1 — 2022-12-23

    • When checking if a file mapping resolved to a file that exists, we weren't considering files in .whl files. This is now fixed, closing issue 1511_.

    • File pattern rules were too strict, forbidding plus signs and curly braces in directory and file names. This is now fixed, closing issue 1513_.

    • Unusual Unicode or control characters in source files could prevent reporting. This is now fixed, closing issue 1512_.

    • The PyPy wheel now installs on PyPy 3.7, 3.8, and 3.9, closing issue 1510_.

    .. _issue 1510: nedbat/coveragepy#1510 .. _issue 1511: nedbat/coveragepy#1511 .. _issue 1512: nedbat/coveragepy#1512 .. _issue 1513: nedbat/coveragepy#1513

    .. _changes_7-0-0:

    Version 7.0.0 — 2022-12-18

    Nothing new beyond 7.0.0b1.

    .. _changes_7-0-0b1:

    Version 7.0.0b1 — 2022-12-03

    A number of changes have been made to file path handling, including pattern matching and path remapping with the [paths] setting (see :ref:config_paths). These changes might affect you, and require you to update your settings.

    (This release includes the changes from 6.6.0b1 <changes_6-6-0b1_>_, since 6.6.0 was never released.)

    • Changes to file pattern matching, which might require updating your configuration:

      • Previously, * would incorrectly match directory separators, making precise matching difficult. This is now fixed, closing issue 1407_.

      • Now ** matches any number of nested directories, including none.

    • Improvements to combining data files when using the

    ... (truncated)

    Commits
    • c5cda3a docs: releases take a little bit longer now
    • 9d4226e docs: latest sample HTML report
    • 8c77758 docs: prep for 7.0.1
    • da1b282 fix: also look into .whl files for source
    • d327a70 fix: more information when mapping rules aren't working right.
    • 35e249f fix: certain strange characters caused reporting to fail. #1512
    • 152cdc7 fix: don't forbid plus signs in file names. #1513
    • 31513b4 chore: make upgrade
    • 873b059 test: don't run tests on Windows PyPy-3.9
    • 5c5caa2 build: PyPy wheel now installs on 3.7, 3.8, and 3.9. #1510
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump coverage from 6.3.3 to 7.0.1

    Bump coverage from 6.3.3 to 7.0.1

    Bumps coverage from 6.3.3 to 7.0.1.

    Changelog

    Sourced from coverage's changelog.

    Version 7.0.1 — 2022-12-23

    • When checking if a file mapping resolved to a file that exists, we weren't considering files in .whl files. This is now fixed, closing issue 1511_.

    • File pattern rules were too strict, forbidding plus signs and curly braces in directory and file names. This is now fixed, closing issue 1513_.

    • Unusual Unicode or control characters in source files could prevent reporting. This is now fixed, closing issue 1512_.

    • The PyPy wheel now installs on PyPy 3.7, 3.8, and 3.9, closing issue 1510_.

    .. _issue 1510: nedbat/coveragepy#1510 .. _issue 1511: nedbat/coveragepy#1511 .. _issue 1512: nedbat/coveragepy#1512 .. _issue 1513: nedbat/coveragepy#1513

    .. _changes_7-0-0:

    Version 7.0.0 — 2022-12-18

    Nothing new beyond 7.0.0b1.

    .. _changes_7-0-0b1:

    Version 7.0.0b1 — 2022-12-03

    A number of changes have been made to file path handling, including pattern matching and path remapping with the [paths] setting (see :ref:config_paths). These changes might affect you, and require you to update your settings.

    (This release includes the changes from 6.6.0b1 <changes_6-6-0b1_>_, since 6.6.0 was never released.)

    • Changes to file pattern matching, which might require updating your configuration:

      • Previously, * would incorrectly match directory separators, making precise matching difficult. This is now fixed, closing issue 1407_.

      • Now ** matches any number of nested directories, including none.

    • Improvements to combining data files when using the

    ... (truncated)

    Commits
    • c5cda3a docs: releases take a little bit longer now
    • 9d4226e docs: latest sample HTML report
    • 8c77758 docs: prep for 7.0.1
    • da1b282 fix: also look into .whl files for source
    • d327a70 fix: more information when mapping rules aren't working right.
    • 35e249f fix: certain strange characters caused reporting to fail. #1512
    • 152cdc7 fix: don't forbid plus signs in file names. #1513
    • 31513b4 chore: make upgrade
    • 873b059 test: don't run tests on Windows PyPy-3.9
    • 5c5caa2 build: PyPy wheel now installs on 3.7, 3.8, and 3.9. #1510
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump isort from 5.10.1 to 5.11.4 in /packages/core/minos-microservice-networks

    Bump isort from 5.10.1 to 5.11.4 in /packages/core/minos-microservice-networks

    Bumps isort from 5.10.1 to 5.11.4.

    Release notes

    Sourced from isort's releases.

    5.11.4

    Changes

    :package: Dependencies

    5.11.3

    Changes

    :beetle: Fixes

    :construction_worker: Continuous Integration

    v5.11.3

    Changes

    :beetle: Fixes

    :construction_worker: Continuous Integration

    5.11.2

    Changes

    5.11.1

    Changes December 12 2022

    ... (truncated)

    Changelog

    Sourced from isort's changelog.

    5.11.4 December 21 2022

    5.11.3 December 16 2022

    5.11.2 December 12 2022

    5.11.1 December 12 2022

    5.11.0 December 12 2022

    Commits
    • 98390f5 Merge pull request #2059 from PyCQA/version/5.11.4
    • df69a05 Bump version 5.11.4
    • f9add58 Merge pull request #2058 from PyCQA/deps/poetry-1.3.1
    • 36caa91 Bump Poetry 1.3.1
    • 3c2e2d0 Merge pull request #1978 from mgorny/toml-test
    • 45d6abd Remove obsolete toml import from the test suite
    • 3020e0b Merge pull request #2057 from mgorny/poetry-install
    • a6fdbfd Stop installing documentation files to top-level site-packages
    • ff306f8 Fix tag template to match old standard
    • 227c4ae Merge pull request #2052 from hugovk/main
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump orjson from 3.6.8 to 3.8.3 in /packages/core/minos-microservice-common

    Bump orjson from 3.6.8 to 3.8.3 in /packages/core/minos-microservice-common

    Bumps orjson from 3.6.8 to 3.8.3.

    Release notes

    Sourced from orjson's releases.

    3.8.3

    Fixed

    • orjson.dumps() accepts option=None per Optional[int] type.

    3.8.2

    Fixed

    • Fix tests on 32-bit for numpy.intp and numpy.uintp.

    Changed

    • Build now depends on rustc 1.60 or later.
    • Support building with maturin 0.13 or 0.14.

    3.8.1

    Changed

    • Build maintenance for Python 3.11.

    3.8.0

    Changed

    • Support serializing numpy.int16 and numpy.uint16.

    3.7.12

    Fixed

    • Fix datetime regression tests with tzinfo 2022b.

    Changed

    • Improve performance.

    3.7.11

    Fixed

    • Revert dict iterator implementation introduced in 3.7.9.

    3.7.10

    Fixed

    • Fix serializing dict with deleted final item. This was introduced in 3.7.9.

    3.7.9

    Changed

    • Improve performance of serializing.
    • Improve performance of serializing pretty-printed (orjson.OPT_INDENT_2) to be much nearer to compact.

    ... (truncated)

    Changelog

    Sourced from orjson's changelog.

    3.8.3 - 2022-12-02

    • orjson.dumps() accepts option=None per Optional[int] type.

    3.8.2 - 2022-11-20

    Fixed

    • Fix tests on 32-bit for numpy.intp and numpy.uintp.

    Changed

    • Build now depends on rustc 1.60 or later.
    • Support building with maturin 0.13 or 0.14.

    3.8.1 - 2022-10-25

    Changed

    • Build maintenance for Python 3.11.

    3.8.0 - 2022-08-27

    Changed

    • Support serializing numpy.int16 and numpy.uint16.

    3.7.12 - 2022-08-14

    Fixed

    • Fix datetime regression tests for tzinfo 2022b.

    Changed

    • Improve performance.

    3.7.11 - 2022-07-31

    Fixed

    • Revert dict iterator implementation introduced in 3.7.9.

    3.7.10 - 2022-07-30

    Fixed

    • Fix serializing dict with deleted final item. This was introduced in 3.7.9.

    3.7.9 - 2022-07-29

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump black from 22.3.0 to 22.12.0 in /packages/core/minos-microservice-networks

    Bump black from 22.3.0 to 22.12.0 in /packages/core/minos-microservice-networks

    Bumps black from 22.3.0 to 22.12.0.

    Release notes

    Sourced from black's releases.

    22.12.0

    Preview style

    • Enforce empty lines before classes and functions with sticky leading comments (#3302)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

    Configuration

    • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
    • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

    Parser

    • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

    Integrations

    • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)

    22.10.0

    Highlights

    • Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be supported until further notice.

    Stable style

    • Fix a crash when # fmt: on is used on a different block level than # fmt: off (#3281)

    Preview style

    ... (truncated)

    Changelog

    Sourced from black's changelog.

    22.12.0

    Preview style

    • Enforce empty lines before classes and functions with sticky leading comments (#3302)
    • Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
    • Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
    • For assignment statements, prefer splitting the right hand side if the left hand side fits on a single line (#3368)
    • Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)

    Configuration

    • Fix incorrectly applied .gitignore rules by considering the .gitignore location and the relative path to the target file (#3338)
    • Fix incorrectly ignoring .gitignore presence when more than one source directory is specified (#3336)

    Parser

    • Parsing support has been added for walruses inside generator expression that are passed as function args (for example, any(match := my_re.match(text) for text in texts)) (#3327).

    Integrations

    • Vim plugin: Optionally allow using the system installation of Black via let g:black_use_virtualenv = 0(#3309)

    22.10.0

    Highlights

    • Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be supported until further notice.

    Stable style

    • Fix a crash when # fmt: on is used on a different block level than # fmt: off

    ... (truncated)

    Commits
    • 2ddea29 Prepare release 22.12.0 (#3413)
    • 5b1443a release: skip bad macos wheels for now (#3411)
    • 9ace064 Bump peter-evans/find-comment from 2.0.1 to 2.1.0 (#3404)
    • 19c5fe4 Fix CI with latest flake8-bugbear (#3412)
    • d4a8564 Bump sphinx-copybutton from 0.5.0 to 0.5.1 in /docs (#3390)
    • 2793249 Wordsmith current_style.md (#3383)
    • d97b789 Remove whitespaces of whitespace-only files (#3348)
    • c23a5c1 Clarify that Black runs with --safe by default (#3378)
    • 8091b25 Correctly handle trailing commas that are inside a line's leading non-nested ...
    • ffaaf48 Compare each .gitignore found with an appropiate relative path (#3338)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(v0.8.0.dev3)
  • v0.8.0.dev3(Jun 17, 2022)

  • v0.8.0.dev2(Jun 3, 2022)

  • v0.7.1.dev1(Jun 2, 2022)

  • v0.8.0.dev1(May 12, 2022)

  • v0.7.0(May 12, 2022)

    Changelog

    minos-microservice-aggregate

    • Rename PostgreSqlEventRepository as DatabaseEventRepository.
    • Add EventDatabaseOperationFactory as the abstract class to be implemented by database clients.
    • Move PostgreSqlSnapshotQueryBuilder to the minos-database-aiopg package.
    • Rename PostgreSqlSnapshotRepository as DatabaseSnapshotRepository.
    • Add SnapshotDatabaseOperationFactory as the abstract class to be implemented by database clients.
    • Remove PostgreSqlSnapshotReader, PostgreSqlSnapshotSetup and PostgreSqlSnapshotWriter.
    • Rename PostgreSqlTransactionRepository as DatabaseTransactionRepository.
    • Add TransactionDatabaseOperationFactory as the abstract class to be implemented by database clients.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-microservice-common

    • Add DatabaseClient, DatabaseClientBuilder as the base client to execute operation over a database and the builder class.
    • Rename PostgreSqlPool as DatabaseClientPool.
    • Add DatabaseOperation, ComposedDatabaseOperation and DatabaseOperationFactory as the classes to build operations to be executed over the database.
    • Add ConnectionException, DatabaseClientException, IntegrityException, ProgrammingException as the base exceptions to be raised by the DatabaseClient.
    • Rename PostgreSqlLock and PostgreSqlLockPool as DatabaseLock and DatabaseLockPool.
    • Rename PostgreSqlMinosDatabase as DatabaseMixin.
    • Add LockDatabaseOperationFactory as the base operation factory for locking operations.
    • Add ManagementDatabaseOperationFactory as the base operation factory for management operations (creation, deletion, etc.).
    • Add TypeHintParser to unify ModelType's type hints.
    • Add PoolException as the base exception for pools.
    • Add PoolFactory as the class with the purpose to build and manage Pool instances.
    • Remove MinosStorage and move MinosStorageLmdb to the minos-database-lmdb package.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-microservice-cqrs

    • Minor improvements.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-microservice-networks

    • Rename PostgreSqlBrokerPublisherQueue as DatabaseBrokerPublisherQueue.
    • Rename PostgreSqlBrokerPublisherQueueQueryFactory as BrokerPublisherQueueDatabaseOperationFactory.
    • Rename PostgreSqlBrokerQueue as DatabaseBrokerQueue.
    • Rename PostgreSqlBrokerQueueBuilder as DatabaseBrokerQueueBuilder.
    • Rename PostgreSqlBrokerSubscriberDuplicateValidator as DatabaseBrokerSubscriberDuplicateValidator.
    • Rename PostgreSqlBrokerSubscriberDuplicateValidatorBuilder as DatabaseBrokerSubscriberDuplicateValidatorBuilder.
    • Rename PostgreSqlBrokerSubscriberDuplicateValidatorQueryFactory as BrokerSubscriberDuplicateValidatorDatabaseOperationFactory.
    • Rename PostgreSqlBrokerSubscriberQueue as DatabaseBrokerSubscriberQueue.
    • Rename PostgreSqlBrokerSubscriberQueueBuilder as DatabaseBrokerSubscriberQueueBuilder.
    • Rename PostgreSqlBrokerSubscriberQueueQueryFactory as BrokerSubscriberQueueDatabaseOperationFactory.
    • Move Builder to the minos-microservice-common package.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-microservice-saga

    • Rename SagaExecutionStorage as SagaExecutionRepository.
    • Add DatabaseSagaExecutionRepository as the implementation of the SagaExecutionRepository over a database.
    • Add SagaExecutionDatabaseOperationFactory as the base operation factory to store saga executions.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-broker-kafka

    • Remove InMemoryQueuedKafkaBrokerPublisher, PostgreSqlQueuedKafkaBrokerPublisher, InMemoryQueuedKafkaBrokerSubscriberBuilder and PostgreSqlQueuedKafkaBrokerSubscriberBuilder in favor of the use of minos.networks.BrokerPublisherBuilder and minos.networks.BrokerSubscriberBuilder.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-broker-rabbitmq

    • Minor improvements.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-database-aiopg

    • Add AiopgDatabaseClient as the minos.common.DatabaseClient implementation for postgres.
    • Add AiopgDatabaseOperation as the minos.common.DatabaseOperation implementation for postgres.
    • Add AiopgLockDatabaseOperationFactory as the minos.common.LockDatabaseOperationFactory implementation for postgres.
    • Add AiopgManagementDatabaseOperationFactory as the minos.common.ManagementDatabaseOperationFactory implementation for postgres.
    • Add AiopgBrokerPublisherQueueDatabaseOperationFactory as the minos.networks.BrokerPublisherQueueDatabaseOperationFactory implementation for postgres.
    • Add AiopgBrokerQueueDatabaseOperationFactory as the minos.networks.BrokerQueueDatabaseOperationFactory implementation for postgres.
    • Add AiopgBrokerSubscriberDuplicateValidatorDatabaseOperationFactory as the minos.networks.BrokerSubscriberDuplicateValidatorDatabaseOperationFactory implementation for postgres.
    • Add AiopgBrokerSubscriberQueueDatabaseOperationFactory as the minos.networks.BrokerSubscriberQueueDatabaseOperationFactory implementation for postgres.
    • Add AiopgEventDatabaseOperationFactory as the minos.aggregate.EventDatabaseOperationFactory implementation for postgres.
    • Add AiopgSnapshotDatabaseOperationFactory as the minos.aggregate.SnapshotDatabaseOperationFactory implementation for postgres.
    • Add AiopgSnapshotQueryDatabaseOperationBuilder to ease the complex snapshot's query building for postgres.
    • Add AiopgTransactionDatabaseOperationFactory as the minos.aggregate.TransactionDatabaseOperationFactory implementation for postgres.

    minos-database-lmdb

    • Add LmdbDatabaseClient as the minos.common.DatabaseClient implementation for lmdb.
    • Add LmdbDatabaseOperation and LmdbDatabaseOperationType classes to define minos.common.DatabaseOperations compatible with the lmdb database.
    • Add LmdbSagaExecutionDatabaseOperationFactory as the minos.saga.SagaExecutionDatabaseOperationFactory implementation for lmdb.

    minos-discovery-kong

    • Add KongClient as a class to interact with the kong API Gateway.
    • Add KongDiscoveryClient as the minos.networks.DiscoveryClient implementation for the kong API Gateway.
    • Add middleware function to automatically extract the user identifier from request's header variable set by the kong API Gateway.

    minos-discovery-minos

    • Minor improvements.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-http-aiohttp

    • Now AioHttpRequest's headers attribute is mutable.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    minos-router-graphql

    • Minor improvements.
    • Unify documentation building pipeline across all minos-python packages.
    • Fix documentation building warnings.
    • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

    Update Guide

    From 0.6.x

    • Add the following packages to pyproject.toml:
      • minos-database-aiopg
      • minos-database-lmdb
    • Add the following changes to config.yml:
      • Add client to database-releated sections:
        • In default, repository, snapshot, broker, etc. add: client: minos.plugins.aiopg.AiopgDatabaseClient
        • In saga or saga.storage add: client: minos.plugins.lmdb.LmdbDatabaseClient
      • Replace the following classes:
        • 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
    Source code(tar.gz)
    Source code(zip)
  • v0.7.0.dev4(May 3, 2022)

  • v0.7.0.dev3(Apr 26, 2022)

  • v0.7.0.dev2(Apr 21, 2022)

  • v0.7.0.dev1(Apr 11, 2022)

  • v0.6.1(Apr 1, 2022)

    Changelog

    minos-microservice-common

    • Fix bug that didn't show the correct exception traceback when microservice failures occurred.

    minos-broker-kafka

    • Improve KafkaBrokerSubscriber's destroying process.
    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Mar 28, 2022)

    Changelog

    minos-microservice-aggregate

    • Replace dependency-injector's injection classes by the ones provided by the minos.common.injections module.
    • Be compatible with latest minos.common.Config API.

    minos-microservice-common

    • Add Config with support for config versioning.
    • Add ConfigV1 as the class that supports the V1 config file.
    • Add ConfigV2 as the class that supports the V1 config file.
    • Deprecate MinosConfig in favor of Config.
    • Add get_internal_modules function.
    • Add Injectable decorator to provide a way to set a class as injectable.
    • Add InjectableMixin class that provides the necessary methods to be injectable.
    • Add Inject decorator to provide a way to inject variables on functions based on types.
    • Add LockPool base class as the base class for lock pools.
    • Add Object base class with the purpose to avoid issues related with multi-inheritance and mixins.
    • Add Port base class as the base class for ports.
    • Add CircuitBreakerMixin class to provide circuit breaker functionalities.
    • Add SetupMixin class as a replacement of the MinosSetup class.

    minos-microservice-cqrs

    • Replace dependency-injector's injection classes by the ones provided by the minos.common.injections module.
    • Be compatible with latest minos.common.Config API.

    minos-microservice-networks

    • Add BrokerPort class and deprecate BrokerHandlerService.
    • Add BrokerPublisherBuilder to ease the building of BrokerPublisher instances.
    • Add FilteredBrokerSubscriber implemented as a Chain-of-Responsibility Design Pattern to be able to filter BrokerMessage instances during subscription.
    • Add BrokerSubscriberValidator and BrokerSubscriberDuplicateValidator base classes and the InMemoryBrokerSubscriberDuplicateValidator and PostgreSqlBrokerSubscriberDuplicateValidator implementations.
    • Rename EnrouteAnalyzer as EnrouteCollector.
    • Rename EnrouteBuilder as EnrouteFactory.
    • Add HttpEnrouteDecorator.
    • Remove KongDiscoveryClient class (there are plans to re-include it as an external plugin in the future).
    • Add HttpConnector as the base class that connects to the http server.
    • Add HttpAdapter as the class that coordinates HttpRouter instances.
    • Add HttpPort class and deprecate RestService.
    • Add HttpRequest, HttpResponse and HttpResponseException as request/response wrappers of the http server.
    • Add Router, HttpRouter, RestHttpRouter, BrokerRouter and PeriodicRouter as the classes that route requests to the corresponding services' handling functions
    • Add PeriodicPort class and deprecate PeriodicTaskSchedulerService.
    • Add CronTab class to support "@reboot" pattern.
    • Add OpenAPIService and AsynAPIService classes as the services that provide openapi and asynciapi specifications of the microservice.
    • Add SystemService as the service that implements System Health checker.
    • Replace dependency-injector's injection classes by the ones provided by the minos.common.injections module.
    • Be compatible with latest minos.common.Config API.

    minos-microservice-saga

    • Replace dependency-injector's injection classes by the ones provided by the minos.common.injections module.
    • Be compatible with latest minos.common.Config API.

    minos-broker-kafka

    • Add KafkaCircuitBreakerMixin to integrate minos.common.CircuitBreakerMixin into the KafkaBrokerPublisher and KafkaBrokerSubscriber classes to be tolerant to connection failures to kafka.
    • Add KafkaBrokerPublisherBuilder and KafkaBrokerBuilderMixin classes to ease the building process.

    minos-broker-rabbitmq

    • Add RabbitMQBrokerPublisher as the implementation of the rabbitmq publisher.
    • Add RabbitMQBrokerSubscriber as the implementation of the rabbitmq subscriber.
    • Add RabbitMQBrokerPublisherBuilder, RabbitMQBrokerSubscriberBuilder and RabbitMQBrokerBuilderMixin classes to ease the building process.

    minos-discovery-minos

    • Integrate minos.common.CircuitBreakerMixin into the MinosDiscoveryClient to be tolerant to connection failures to minos-discovery.

    minos-http-aiohttp

    • Add AioHttpConnector as the implementation of the aiohttp server.
    • Add AioHttpRequest, AioHttpResponse and AioHttpResponseException classes as the request/response wrappers for aiohttp.

    minos-router-graphql

    • Add GraphQLSchemaBuilder to build the graphql's schema.
    • Add GraphQlHandler class to handle graphql requests.
    • Add GraphQlHttpRouter class to route http request to graphql.
    • Add GraphQlEnroute, GraphQlEnrouteDecorator, GraphQlCommandEnrouteDecorator and GraphQlQueryEnrouteDecorator decorators.

    Update Guide

    From 0.5.x

    • Add @Injectable decorator to classes that injections:
    from minos.common import Injectable
    
    
    @Injectable("THE_INJECTION_NAME")
    class MyInjectableClass:
      ...
    
    • Add minos-http-aiohttp package:
    poetry add minos-http-aiohttp@^0.6
    
    • Add HttpConnector instance to service.injections section of config.yml file:
    ...
    service:
      injections:
        http_connector: minos.plugins.aiohttp.AioHttpConnector
        ...
      ...
    ...
    
    • Add routers section to config.yml file:
    ...
    routers:
      - minos.networks.BrokerRouter
      - minos.networks.PeriodicRouter
      - minos.networks.RestHttpRouter
    ...
    
    • Update minos.common.Config usages according to the new provided API:
      • Most common issues come from calls like config.query_repository._asdict(), that must be transformed to config.get_database_by_name("query")
    Source code(tar.gz)
    Source code(zip)
  • v0.5.4(Mar 7, 2022)

    Changelog

    minos-microservice-aggregate

    • Fix bug related with Ref.resolve.
    • Add RefResolver.build_topic_name static method.
    • Remove SnapshotService.__get_one__ method.
    • Minor changes.
    Source code(tar.gz)
    Source code(zip)
  • v0.5.3(Mar 4, 2022)

    Changelog

    minos-microservice-aggregate

    • Add RefException to be raised when some reference cannot be resolved.
    • Improve attribute and item accessors of Ref, Event and FieldDiffContainer
    • Deprecate Event.get_one in favor of Event.get_field.
    • Deprecate Event.get_all in favor of Event.get_fields.

    minos-microservice-common

    • Big performance improvement related with a caching layer over type hint comparisons at TypeHintComparator.
    • Improve attribute and item accessors of Model.
    • Fix bug related with casting from dict to Model instances on field setters.

    minos-microservice-cqrs

    • Update the resolve_references: bool default value to False defined at PreEventHandler.handle.
    • Improve error messages of PreEventHandler.

    minos-microservice-networks

    • Improve error messages of BrokerDispatcher, RestHandler and PeriodicTask.

    minos-microservice-saga

    • Improve attribute and item accessors of SagaContext.
    Source code(tar.gz)
    Source code(zip)
  • v0.5.2(Feb 8, 2022)

    Changelog

    minos-microservice-aggregate

    • Add Condition.LIKE operator to be used with the find method from SnapshotRepository.
    • Add get_all method to RootEntity and SnapshotRepository to get all the stored instance on the repository.
    • Rename SnapshotService command topics to avoid collisions with application-level topics.
    • Rename TransactionService command topics to avoid collisions with application-level topics.
    • Minor changes.

    minos-microservice-common

    • Add query_repository section to MinosConfig.
    • Minor changes.

    minos-microservice-networks

    • Fix bug related with enroute decorator collisions in which the MinosRedefinedEnrouteDecoratorException was not raised.
    • Minor changes.

    minos-microservice-saga

    • Add compatibility to minos-microservice-aggregate~=0.5.2.
    • Minor changes.
    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Feb 3, 2022)

    Changelog

    minos-microservice-aggregate

    • Fix bug related with dependency specification.

    minos-microservice-cqrs

    • Fix bug related with dependency specification.

    minos-microservice-networks

    • Fix bug related with dependency specification.

    minos-microservice-saga

    • Fix bug related with dependency specification.

    minos-broker-kafka

    • Fix bug related with dependency specification.

    minos-discovery-minos

    • Fix bug related with dependency specification.
    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Feb 3, 2022)

    Changelog

    minos-microservice-aggregate

    • Rename Aggregate as RootEntity.
    • Rename AggregateRef as ExternalEntity.
    • Rename ModelRef as Ref.
    • Rename AggregateDiff as Event.
    • Create the Aggregate base class, with the purpose to move the business logic from the minos.cqrs.CommandService to this brand-new class.
    • Refactor internal module hierarchy.
    • Minor changes.

    minos-microservice-common

    • Minor changes.

    minos-microservice-cqrs

    • Minor changes.

    minos-microservice-networks

    • Extract kafka related code to the minos-broker-kafka plugin.
    • Extract minos-discovery related code to the minos-discovery-minos plugin.
    • Minor changes.

    minos-microservice-saga

    • Minor changes.

    minos-broker-kafka

    • Migrate PostgreSqlQueuedKafkaBrokerPublisher from minos-microservice-networks.
    • Migrate InMemoryQueuedKafkaBrokerPublisher from minos-microservice-networks.
    • Migrate KafkaBrokerPublisher from minos-microservice-networks.
    • Migrate KafkaBrokerSubscriber from minos-microservice-networks.
    • Migrate KafkaBrokerSubscriberBuilder from minos-microservice-networks.
    • Migrate PostgreSqlQueuedKafkaBrokerSubscriberBuilder from minos-microservice-networks.
    • Migrate InMemoryQueuedKafkaBrokerSubscriberBuilder from minos-microservice-networks.
    • Minor changes.

    minos-discovery-minos

    • Migrate MinosDiscoveryClient from minos-microservice-networks.
    • Minor changes.
    Source code(tar.gz)
    Source code(zip)
  • v0.4.1(Jan 31, 2022)

    Changelog

    minos-microservice-aggregate

    • Update README.md.

    minos-microservice-common

    • Update README.md.

    minos-microservice-cqrs

    • Update README.md.

    minos-microservice-networks

    • Update README.md.

    minos-microservice-saga

    • Update README.md.
    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Jan 27, 2022)

    Changelog

    minos-microservice-aggregate

    • Be compatible with minos-microservice-common~=0.4.0.
    • Be compatible with minos-microservice-networks~=0.4.0.

    minos-microservice-common

    • Add waiting time before destroying the minos.common.MinosPool acquired instances.

    minos-microservice-cqrs

    • Be compatible with minos-microservice-common~=0.4.0.
    • Be compatible with minos-microservice-aggregate~=0.4.0.
    • Be compatible with minos-microservice-networks~=0.4.0.

    minos-microservice-networks

    • Add BrokerDispatcher to break the direct relationship between BrokerHandler and BrokerPublisher.
    • Add content_type argument to RestResponse's constructor to be able to retrieve the result in a format other than json.
    • Add versioning to BrokerMessage and implement the BrokerMessageV1 and BrokerMessageV1Payload to be able to work with different microservice versions in the future.
    • Refactor BrokerPublisher.send method to follow the (message: BrokerMessage) -> None prototype instead of a big list of arguments referred to the messages attributes.
    • Refactor brokers.publishers module.
      • Add BrokerPublisher base class with a send(message: BrokerMessage) -> Awaitable[None] method.
      • Add BrokerPublisherQueue base class with an enqueue(message: BrokerMessage) -> Awaitable[None] and a dequeue() -> Awaitable[BrokerMessage] methods.
      • Add KafkaBrokerPublisher as the kafka's implementation of the publisher.
      • Add PostgreSqlBrokerPublisherQueue as the postgres implementation of the publisher's message queue.
    • Refactor brokers.handlers.
      • Add BrokerSubscriber base class with a receive() -> Awaitable[BrokerMessage] method.
      • Add BrokerSubscriberQueue base class with an enqueue(message: BrokerMessage) -> Awaitable[None] and a dequeue() -> Awaitable[BrokerMessage] methods.
      • Add KafkaBrokerSubscriber as the kafka's implementation of the subscriber.
      • Add PostgreSqlBrokerSubscriberQueue as the postgres implementation of the subscriber's message queue.
    • Refactor DynamicBroker and DynamicBrokerPool as BrokerClient and BrokerClientPool. The new BrokerClient has a send(message: BrokerMessage) -> Awaitable[None] method for sending messages and a receive() -> Awaitable[BrokerMessage] to receive them.
    • Implement a builder pattern on BrokerPublisher
    • Be compatible with minos-microservice-common~=0.4.0.

    minos-microservice-saga

    • Be compatible with minos-microservice-common~=0.4.0.
    • Be compatible with minos-microservice-aggregate~=0.4.0.
    • Be compatible with minos-microservice-networks~=0.4.0.
    Source code(tar.gz)
    Source code(zip)
Owner
Minos Framework
Minos is a framework which helps you create reactive microservices in Python.
Minos Framework
Sample microservices application demo

Development mode docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d or export COMPOSE_FILE='docker-compose.yml:docker-compose.dev.ym

Konstantinos Bairaktaris 1 Nov 14, 2021
This tool helps you to reverse any regex and gives you the opposite/allowed Letters,numerics and symbols.

Regex-Reverser This tool helps you to reverse any regex and gives you the opposite/allowed Letters,numerics and symbols. Screenshots Usage/Examples py

x19 0 Jun 2, 2022
tox-gh is a tox plugin which helps running tox on GitHub Actions with multiple different Python versions on multiple workers in parallel

tox-gh is a tox plugin which helps running tox on GitHub Actions with multiple different Python versions on multiple workers in parallel. This project is inspired by tox-travis.

tox development team 19 Dec 26, 2022
A web application which you can search, buy or sell shares with current prices which provided by IEX.

CS50 - Stock Exchange A web application which you can search, buy or sell shares with current prices which provided by IEX. Table of Contents Setup St

null 1 May 28, 2022
School helper, helps you at your pyllabus's.

pyllabus, helps you at your syllabus's... WARNING: It won't run without config.py! You should add config.py yourself, it will include your APIKEY. e.g

Ahmet Efe AKYAZI 6 Aug 7, 2022
Ssma is a tool that helps you collect your badges in a satr platform

satr-statistics-maker ssma is a tool that helps you collect your badges in a satr platform ??️ Requirements python >= 3.7 Installation first clone the

TheAwiteb 3 Jan 4, 2022
Feature engineering library that helps you keep track of feature dependencies, documentation and schema

Feature engineering library that helps you keep track of feature dependencies, documentation and schema

null 28 May 31, 2022
Cute study buddy that helps you study with the Pomodoro technique!

study-buddy Cute study buddy that helps you study with the Pomodoro (or Animedoro) technique! Kirby The Kirby folder has a Kirby, pink-themed Pomodoro

Ethan Emmanuel 1 Jan 19, 2022
Allow you to create you own custom decentralize job management system.

ants Allow you to create you own custom decentralize job management system. Install $> git clone https://github.com/hvuhsg/ants.git Run monitor exampl

null 1 Feb 15, 2022
Wordless - the #1 app for helping you cheat at Wordle, which is sure to make you popular at parties

Wordless Wordless is the #1 app for helping you cheat at Wordle, which is sure t

James Kirk 7 Feb 4, 2022
This is a vscode extension with a Virtual Assistant that you can play with when you are bored or you need help..

VS Code Virtual Assistant This is a vscode extension with a Virtual Assistant that you can play with when you are bored or you need help. Its currentl

Soham Ghugare 6 Aug 22, 2021
You can easily send campaigns, e-marketing have actually account using cash will thank you for using our tools, and you can support our Vodafone Cash +201090788026

*** Welcome User Sorry I Mean Hello Brother ✓ Devolper and Design : Mokhtar Abdelkreem ========================================== You Can Follow Us O

Mo Code 1 Nov 3, 2021
Meera 2 May 12, 2022
A Python library that helps data scientists to infer causation rather than observing correlation.

A Python library that helps data scientists to infer causation rather than observing correlation.

QuantumBlack Labs 1.7k Jan 4, 2023
A collection of daily usage utility scripts in python. Helps in automation of day to day repetitive tasks.

Kush's Utils Tool is my personal collection of scripts which is used to automated daily tasks. It is a evergrowing collection of scripts and will continue to evolve till the day I program. This is also my first python project.

Kushagra 10 Jan 16, 2022
PyDateWaiter helps waiting special day & calculating remain days till that day with Python code.

PyDateWaiter (v.Beta) PyDateWaiter helps waiting special day(aniversary) & calculating remain days till that day with Python code. Made by wallga gith

wallga 1 Jan 14, 2022
A Python application that helps users determine their calorie intake, and automatically generates customized weekly meal and workout plans based on metrics computed using their physical parameters

A Python application that helps users determine their calorie intake, and automatically generates customized weekly meal and workout plans based on metrics computed using their physical parameters

Anam Iqbal 1 Jan 13, 2022
Helps to arrange nodes

Relax brush for nodes, helps to arrange nodes easier.

null 336 Dec 15, 2022
The tool helps to find hidden parameters that can be vulnerable or can reveal interesting functionality that other hunters miss.

The tool helps to find hidden parameters that can be vulnerable or can reveal interesting functionality that other hunters miss. Greater accuracy is achieved thanks to the line-by-line comparison of pages, comparison of response code and reflections.

null 197 Nov 14, 2022