diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e511d3..287e293 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-18.04 strategy: matrix: - python-version: [3.6, 3.7, 3.8, 3.9] + python-version: [3.7, 3.8, 3.9, "3.10"] steps: - uses: actions/checkout@v1 diff --git a/CHANGELOG.md b/CHANGELOG.md index a97e43e..149e836 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.5] - 2022-03-14 :tulip: +- Adds `py.typed` file +- Adds `ConflictException` + ## [1.1.4] - 2020-11-08 :octocat: - Completely migrates to GitHub Workflows - Improves build to test Python 3.6 and 3.9 diff --git a/MANIFEST.in b/MANIFEST.in index 74215c3..1dde008 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,2 +1,3 @@ include README.md -include LICENSE \ No newline at end of file +include LICENSE +include essentials/py.typed diff --git a/essentials/decorators/retry.py b/essentials/decorators/retry.py index e8c571d..860269c 100644 --- a/essentials/decorators/retry.py +++ b/essentials/decorators/retry.py @@ -36,7 +36,7 @@ async def async_wrapper(*args, **kwargs): raise if delay is not None: - await asyncio.sleep(delay, loop=loop) + await asyncio.sleep(delay) return async_wrapper diff --git a/essentials/exceptions.py b/essentials/exceptions.py index 59217b1..cf388d0 100644 --- a/essentials/exceptions.py +++ b/essentials/exceptions.py @@ -16,7 +16,7 @@ def __init__(self, param_name: str): class AcceptedException(Exception): """ - Exception risen when an operation cannot be fully completed, + Exception raised when an operation cannot be fully completed, but doesn't imply failure. """ @@ -28,6 +28,10 @@ def __init__( super().__init__(message) +class ConflictException(Exception): + """Common exception for conflict scenarios.""" + + class ObjectNotFound(Exception): """ Exception risen when an object that is necessary to complete diff --git a/essentials/py.typed b/essentials/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/pytest.ini b/pytest.ini index afbc5fa..34e646e 100644 --- a/pytest.ini +++ b/pytest.ini @@ -2,3 +2,4 @@ markers = cqa: Code Quality Assurance junit_family=xunit1 +asyncio_mode=strict diff --git a/setup.py b/setup.py index 2d77312..f2e587a 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ def readme(): setup( name="essentials", - version="1.1.4", + version="1.1.5", description="General purpose classes and functions, " "reusable in any kind of Python application", long_description=readme(),