diff --git a/.bumpversion.cfg b/.bumpversion.cfg index af5307f7..81bd1f0e 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.44.0 +current_version = 0.45.0 commit = True tag = False message = chore: Bump version from {current_version} to {new_version} diff --git a/HISTORY.md b/HISTORY.md index 56d05788..b4eb7b71 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,13 @@ # History +## 0.45.0 (2025-03-24) + +- (PR #784, 2025-03-13) chore(deps): Bump the development-dependencies group with 8 updates +- (PR #773, 2025-03-13) chore(deps): Bump django-filter from 24.3 to 25.1 +- (PR #774, 2025-03-17) chore(deps): Bump marshmallow from 3.22.0 to 3.26.1 +- (PR #776, 2025-03-17) chore(deps): Bump importlib-metadata from 8.5.0 to 8.6.1 +- (PR #787, 2025-03-24) Require Python ≥3.9 + ## 0.44.0 (2025-03-13) - (PR #783, 2025-03-13) deps: Update `packaging` from 24.1 to 24.2 diff --git a/pyproject.toml b/pyproject.toml index 0e4af765..a79bfbff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ dependencies = [ "signxml>=4.0.0", "typing-extensions>=4.0.1", ] -requires-python = ">=3.8, <3.11" +requires-python = ">=3.9, <3.11" authors = [ {name = "Fyntex TI SpA", email = "no-reply@fyntex.ai"}, ] diff --git a/requirements-dev.in b/requirements-dev.in index 5e3cdbea..c1035d9c 100644 --- a/requirements-dev.in +++ b/requirements-dev.in @@ -4,18 +4,18 @@ -c requirements.txt -black==24.8.0 +black==25.1.0 build==1.2.2.post1 bumpversion==0.5.3 -coverage==7.6.1 -flake8==7.1.1 -isort==5.13.2 -mypy==1.14.1 +coverage==7.6.12 +flake8==7.1.2 +isort==6.0.1 +mypy==1.15.0 pip-tools==7.4.1 -tox==4.23.2 +tox==4.24.2 twine==6.1.0 types-jsonschema==4.23.0.20241208 -types-lxml==2024.12.13 +types-lxml==2025.3.4 types-pyOpenSSL==24.1.0.20240722 -types-pytz==2024.2.0.20241221 +types-pytz==2025.1.0.20250204 wheel==0.45.1 diff --git a/requirements-dev.txt b/requirements-dev.txt index e559bfc0..f35a5a5f 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,7 +8,9 @@ attrs==23.2.0 # via # -c requirements.txt # referencing -black==24.8.0 +beautifulsoup4==4.13.3 + # via types-lxml +black==25.1.0 # via -r requirements-dev.in bleach==5.0.1 # via readme-renderer @@ -18,7 +20,7 @@ build==1.2.2.post1 # pip-tools bumpversion==0.5.3 # via -r requirements-dev.in -cachetools==5.5.0 +cachetools==5.5.2 # via tox certifi==2024.7.4 # via @@ -38,7 +40,7 @@ click==8.0.3 # pip-tools colorama==0.4.6 # via tox -coverage==7.6.1 +coverage==7.6.12 # via -r requirements-dev.in cryptography==44.0.1 # via @@ -55,18 +57,18 @@ filelock==3.16.1 # via # tox # virtualenv -flake8==7.1.1 +flake8==7.1.2 # via -r requirements-dev.in id==1.5.0 # via twine idna==3.7 # via requests -importlib-metadata==8.5.0 +importlib-metadata==8.6.1 # via # -c requirements.txt # build # twine -isort==5.13.2 +isort==6.0.1 # via -r requirements-dev.in jeepney==0.8.0 # via @@ -80,7 +82,7 @@ mccabe==0.7.0 # via flake8 mdurl==0.1.2 # via markdown-it-py -mypy==1.14.1 +mypy==1.15.0 # via -r requirements-dev.in mypy-extensions==1.0.0 # via @@ -148,7 +150,9 @@ secretstorage==3.3.3 # via keyring six==1.16.0 # via bleach -tomli==2.0.1 +soupsieve==2.6 + # via beautifulsoup4 +tomli==2.2.1 # via # black # build @@ -157,29 +161,28 @@ tomli==2.0.1 # pyproject-api # pyproject-hooks # tox -tox==4.23.2 +tox==4.24.2 # via -r requirements-dev.in twine==6.1.0 # via -r requirements-dev.in -types-beautifulsoup4==4.12.0.20240907 - # via types-lxml types-cffi==1.16.0.20240331 # via types-pyopenssl -types-html5lib==1.1.11.20240806 - # via types-beautifulsoup4 +types-html5lib==1.1.11.20241018 + # via types-lxml types-jsonschema==4.23.0.20241208 # via -r requirements-dev.in -types-lxml==2024.12.13 +types-lxml==2025.3.4 # via -r requirements-dev.in types-pyopenssl==24.1.0.20240722 # via -r requirements-dev.in -types-pytz==2024.2.0.20241221 +types-pytz==2025.1.0.20250204 # via -r requirements-dev.in types-setuptools==75.3.0.20241112 # via types-cffi typing-extensions==4.12.2 # via # -c requirements.txt + # beautifulsoup4 # black # mypy # tox @@ -188,7 +191,7 @@ urllib3==1.26.19 # via # requests # twine -virtualenv==20.26.6 +virtualenv==20.29.3 # via tox webencodings==0.5.1 # via bleach diff --git a/requirements.in b/requirements.in index 4045e05a..a8c7e54c 100644 --- a/requirements.in +++ b/requirements.in @@ -11,10 +11,10 @@ defusedxml==0.7.1 django-filter>=24.2 Django>=4.2 djangorestframework>=3.10.3,<3.16 -importlib-metadata==8.5.0 +importlib-metadata==8.6.1 jsonschema==4.23.0 lxml==5.3.1 -marshmallow==3.22.0 +marshmallow==3.26.1 pydantic==2.10.6 pyOpenSSL==25.0.0 pytz==2025.1 diff --git a/requirements.txt b/requirements.txt index c4594dd5..72df99c2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,11 +28,11 @@ django==4.2.20 # -r requirements.in # django-filter # djangorestframework -django-filter==24.3 +django-filter==25.1 # via -r requirements.in djangorestframework==3.15.2 # via -r requirements.in -importlib-metadata==8.5.0 +importlib-metadata==8.6.1 # via -r requirements.in jsonschema==4.23.0 # via -r requirements.in @@ -42,7 +42,7 @@ lxml==5.3.1 # via # -r requirements.in # signxml -marshmallow==3.22.0 +marshmallow==3.26.1 # via -r requirements.in packaging==24.2 # via marshmallow diff --git a/src/cl_sii/__init__.py b/src/cl_sii/__init__.py index 262f0c5e..f87c773b 100644 --- a/src/cl_sii/__init__.py +++ b/src/cl_sii/__init__.py @@ -4,4 +4,4 @@ """ -__version__ = '0.44.0' +__version__ = '0.45.0' diff --git a/src/cl_sii/dte/data_models.py b/src/cl_sii/dte/data_models.py index aca2aaa8..7abdf147 100644 --- a/src/cl_sii/dte/data_models.py +++ b/src/cl_sii/dte/data_models.py @@ -111,7 +111,7 @@ def validate_non_empty_bytes(value: bytes) -> None: def is_input_trusted_according_to_validation_context( - validation_context: Optional[Mapping[str, object]] + validation_context: Optional[Mapping[str, object]], ) -> bool: """ Return whether the input data is trusted according to the validation context. diff --git a/src/cl_sii/libs/mm_utils.py b/src/cl_sii/libs/mm_utils.py index 67c3126a..13eb98ab 100644 --- a/src/cl_sii/libs/mm_utils.py +++ b/src/cl_sii/libs/mm_utils.py @@ -96,7 +96,9 @@ def __init__(self, format: Optional[str] = None, **kwargs: Any) -> None: # TODO: for 'marshmallow 3', rename 'dateformat' to 'datetimeformat'. self.dateformat = format - def _bind_to_schema(self, field_name: str, schema: marshmallow.Schema) -> None: + def _bind_to_schema( + self, field_name: str, schema: marshmallow.Schema | marshmallow.Field + ) -> None: super()._bind_to_schema(field_name, schema) self.dateformat = self.dateformat or schema.opts.dateformat