From 0dd5f8570d255a9458f5b24856db4e59e8d6824a Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 19:29:32 -0300 Subject: [PATCH 1/7] chore: Add support for Python 3.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Python 3.11 to Python Project Configuration. - Add Tox environment for Python 3.11. - Add Python 3.11 to GitHub Actions configuration. - Update documentation to reflect support for Python 3.11. - Update tests to fix compatibility issues with Python 3.11. More information: [What’s New In Python 3.11](https://docs.python.org/3.11/whatsnew/3.11.html) --- .github/workflows/ci.yaml | 2 ++ .github/workflows/deploy.yaml | 2 +- .github/workflows/release.yaml | 2 +- README.md | 2 +- pyproject.toml | 3 ++- src/tests/test_libs_tz_utils.py | 21 +++++++++++++++++---- tox.ini | 2 ++ 7 files changed, 26 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a23b1919..7336bc4a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -30,6 +30,7 @@ jobs: python_version: - "3.9" - "3.10" + - "3.11" steps: - name: Check Out VCS Repository @@ -85,6 +86,7 @@ jobs: python_version: - "3.9" - "3.10" + - "3.11" steps: - name: Check Out VCS Repository diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 97db5c26..eb910aba 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -44,7 +44,7 @@ jobs: id: set_up_python uses: actions/setup-python@v6.0.0 with: - python-version: "3.10" + python-version: "3.11" - name: Restoring/Saving Cache uses: actions/cache@v4.3.0 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a180543a..f2225d7e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -41,7 +41,7 @@ jobs: id: set_up_python uses: actions/setup-python@v6.0.0 with: - python-version: "3.10" + python-version: "3.11" - name: Create Python Virtual Environment run: make python-virtualenv PYTHON_VIRTUALENV_DIR="venv" diff --git a/README.md b/README.md index d44ee39f..200744ad 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The full documentation is at . ## Supported Python versions -Only Python 3.9 and 3.10. Python 3.8 and below will not work because we use some features +Only Python 3.9, 3.10, and 3.11. Python 3.8 and below will not work because we use some features introduced in Python 3.9. ## Quickstart diff --git a/pyproject.toml b/pyproject.toml index e6b64ecb..90e7ad24 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ dependencies = [ "signxml>=4.0.0", "typing-extensions>=4.0.1", ] -requires-python = ">=3.9, <3.11" +requires-python = ">=3.9, <3.12" authors = [ {name = "Fyntex TI SpA", email = "no-reply@fyntex.ai"}, ] @@ -44,6 +44,7 @@ classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", ] dynamic = ["version"] diff --git a/src/tests/test_libs_tz_utils.py b/src/tests/test_libs_tz_utils.py index a86c6710..af24c497 100644 --- a/src/tests/test_libs_tz_utils.py +++ b/src/tests/test_libs_tz_utils.py @@ -1,5 +1,6 @@ import datetime import re +import sys import unittest from cl_sii.libs.tz_utils import ( # noqa: F401 @@ -74,7 +75,12 @@ def test_validate_dt_tz_tzinfo_zone_attribute_check(self) -> None: ) with self.assertRaisesRegex(AssertionError, expected_error_message): validate_dt_tz(dt_with_tzinfo_utc_pytz, tzinfo_utc_stdlib) - expected_error_message = re.compile(r"^Object UTC must have 'zone' attribute.$") + if sys.version_info >= (3, 11): + expected_error_message = re.compile( + r"^Object datetime.timezone.utc must have 'zone' attribute.$" + ) + else: + expected_error_message = re.compile(r"^Object UTC must have 'zone' attribute.$") with self.assertRaisesRegex(AssertionError, expected_error_message): validate_dt_tz(dt_with_tzinfo_utc_stdlib, tzinfo_utc_pytz) @@ -86,8 +92,15 @@ def test_validate_dt_tz_tzinfo_zone_attribute_check(self) -> None: ) with self.assertRaisesRegex(AssertionError, expected_error_message): validate_dt_tz(dt_with_tzinfo_not_utc_pytz, tzinfo_not_utc_stdlib) # type: ignore - expected_error_message = re.compile( - r"^Object" r" UTC-03:00" r" must have 'zone' attribute.$" - ) + if sys.version_info >= (3, 11): + expected_error_message = re.compile( + r"^Object" + r" datetime.timezone\(datetime.timedelta\(days=-1, seconds=75600\)\)" + r" must have 'zone' attribute.$" + ) + else: + expected_error_message = re.compile( + r"^Object" r" UTC-03:00" r" must have 'zone' attribute.$" + ) with self.assertRaisesRegex(AssertionError, expected_error_message): validate_dt_tz(dt_with_tzinfo_not_utc_stdlib, tzinfo_not_utc_pytz) diff --git a/tox.ini b/tox.ini index c62778c7..cfeac9c0 100644 --- a/tox.ini +++ b/tox.ini @@ -2,6 +2,7 @@ envlist = py39, py310, + py311, [testenv] setenv = @@ -13,3 +14,4 @@ deps = basepython = py39: python3.9 py310: python3.10 + py311: python3.11 From 24e4f66025beddfbc399088d27e36aa1b16ecf49 Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 20:02:09 -0300 Subject: [PATCH 2/7] fix: Add Python 3.11 to target versions of 'Black' When support for Python 3.11 was added, the target versions of 'Black' were not updated. Fixes: Commit 0dd5f8570d255a9458f5b24856db4e59e8d6824a --- .black.cfg.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.black.cfg.toml b/.black.cfg.toml index aca538bf..a38c1f28 100644 --- a/.black.cfg.toml +++ b/.black.cfg.toml @@ -9,4 +9,4 @@ include = '\.pyi?$' line-length = 100 skip-string-normalization = true -target-version = ['py39', 'py310'] +target-version = ['py39', 'py310', 'py311'] From 7f0748172a741dafe8525a439213fd379e725938 Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 20:06:54 -0300 Subject: [PATCH 3/7] chore: Add support for Python 3.12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Python 3.12 to Python Project Configuration. - Add Tox environment for Python 3.12. - Add Python 3.12 to target versions of 'Black'. - Add Python 3.12 to GitHub Actions configuration. - Update documentation to reflect support for Python 3.12. More information: [What’s New In Python 3.12](https://docs.python.org/3.12/whatsnew/3.12.html) --- .black.cfg.toml | 2 +- .github/workflows/ci.yaml | 2 ++ .github/workflows/deploy.yaml | 2 +- .github/workflows/release.yaml | 2 +- README.md | 4 ++-- pyproject.toml | 3 ++- tox.ini | 2 ++ 7 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.black.cfg.toml b/.black.cfg.toml index a38c1f28..aefe722f 100644 --- a/.black.cfg.toml +++ b/.black.cfg.toml @@ -9,4 +9,4 @@ include = '\.pyi?$' line-length = 100 skip-string-normalization = true -target-version = ['py39', 'py310', 'py311'] +target-version = ['py39', 'py310', 'py311', 'py312'] diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7336bc4a..bfe02f48 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -31,6 +31,7 @@ jobs: - "3.9" - "3.10" - "3.11" + - "3.12" steps: - name: Check Out VCS Repository @@ -87,6 +88,7 @@ jobs: - "3.9" - "3.10" - "3.11" + - "3.12" steps: - name: Check Out VCS Repository diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index eb910aba..50469ded 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -44,7 +44,7 @@ jobs: id: set_up_python uses: actions/setup-python@v6.0.0 with: - python-version: "3.11" + python-version: "3.12" - name: Restoring/Saving Cache uses: actions/cache@v4.3.0 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f2225d7e..03cdd92f 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -41,7 +41,7 @@ jobs: id: set_up_python uses: actions/setup-python@v6.0.0 with: - python-version: "3.11" + python-version: "3.12" - name: Create Python Virtual Environment run: make python-virtualenv PYTHON_VIRTUALENV_DIR="venv" diff --git a/README.md b/README.md index 200744ad..931f18a6 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,8 @@ The full documentation is at . ## Supported Python versions -Only Python 3.9, 3.10, and 3.11. Python 3.8 and below will not work because we use some features -introduced in Python 3.9. +Only Python 3.9, 3.10, 3.11, and 3.12. Python 3.8 and below will not work because we use some +features introduced in Python 3.9. ## Quickstart diff --git a/pyproject.toml b/pyproject.toml index 90e7ad24..71e894e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ dependencies = [ "signxml>=4.0.0", "typing-extensions>=4.0.1", ] -requires-python = ">=3.9, <3.12" +requires-python = ">=3.9, <3.13" authors = [ {name = "Fyntex TI SpA", email = "no-reply@fyntex.ai"}, ] @@ -45,6 +45,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] dynamic = ["version"] diff --git a/tox.ini b/tox.ini index cfeac9c0..502a578b 100644 --- a/tox.ini +++ b/tox.ini @@ -3,6 +3,7 @@ envlist = py39, py310, py311, + py312, [testenv] setenv = @@ -15,3 +16,4 @@ basepython = py39: python3.9 py310: python3.10 py311: python3.11 + py312: python3.12 From dd29a20fc28caf458dae6d22ef935d86c85213cd Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 20:36:30 -0300 Subject: [PATCH 4/7] chore(deps): Update `cffi` from 1.16.0 to 1.17.1 - [Software Repository](https://pypi.org/project/cffi/1.17.1/) - [Release Notes](https://github.com/python-cffi/cffi/releases/tag/v1.17.1) - [Changelog](https://cffi.readthedocs.io/en/latest/whatsnew.html#v1-17-1) - [Commits](https://github.com/python-cffi/cffi/compare/v1.16.0...v1.17.1) --- requirements-dev.txt | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 032a1c5c..9a959d92 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -26,7 +26,7 @@ certifi==2024.7.4 # via # -c requirements.txt # requests -cffi==1.16.0 +cffi==1.17.1 # via # -c requirements.txt # cryptography diff --git a/requirements.txt b/requirements.txt index 3621ffaa..caefdf10 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ backports-datetime-fromisoformat==2.0.3 # via marshmallow certifi==2024.7.4 # via signxml -cffi==1.16.0 +cffi==1.17.1 # via cryptography cryptography==45.0.7 # via From 18a871ef56ba1041c11b5041a3a9d6c566ba13b0 Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 20:18:22 -0300 Subject: [PATCH 5/7] chore: Add support for Python 3.13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Python 3.13 to Python Project Configuration. - Add Tox environment for Python 3.13. - Add Python 3.13 to target versions of 'Black'. - Add Python 3.13 to GitHub Actions configuration. - Update documentation to reflect support for Python 3.13. More information: [What’s New In Python 3.13](https://docs.python.org/3.13/whatsnew/3.13.html) --- .black.cfg.toml | 2 +- .github/workflows/ci.yaml | 2 ++ .github/workflows/deploy.yaml | 2 +- .github/workflows/release.yaml | 2 +- README.md | 2 +- pyproject.toml | 3 ++- tox.ini | 2 ++ 7 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.black.cfg.toml b/.black.cfg.toml index aefe722f..31e51fb9 100644 --- a/.black.cfg.toml +++ b/.black.cfg.toml @@ -9,4 +9,4 @@ include = '\.pyi?$' line-length = 100 skip-string-normalization = true -target-version = ['py39', 'py310', 'py311', 'py312'] +target-version = ['py39', 'py310', 'py311', 'py312', 'py313'] diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index bfe02f48..33ad8b4d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -32,6 +32,7 @@ jobs: - "3.10" - "3.11" - "3.12" + - "3.13" steps: - name: Check Out VCS Repository @@ -89,6 +90,7 @@ jobs: - "3.10" - "3.11" - "3.12" + - "3.13" steps: - name: Check Out VCS Repository diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 50469ded..877616d9 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -44,7 +44,7 @@ jobs: id: set_up_python uses: actions/setup-python@v6.0.0 with: - python-version: "3.12" + python-version: "3.13" - name: Restoring/Saving Cache uses: actions/cache@v4.3.0 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 03cdd92f..ce517cd6 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -41,7 +41,7 @@ jobs: id: set_up_python uses: actions/setup-python@v6.0.0 with: - python-version: "3.12" + python-version: "3.13" - name: Create Python Virtual Environment run: make python-virtualenv PYTHON_VIRTUALENV_DIR="venv" diff --git a/README.md b/README.md index 931f18a6..5b7b1888 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The full documentation is at . ## Supported Python versions -Only Python 3.9, 3.10, 3.11, and 3.12. Python 3.8 and below will not work because we use some +Only Python 3.9, 3.10, 3.11, 3.12, and 3.13. Python 3.8 and below will not work because we use some features introduced in Python 3.9. ## Quickstart diff --git a/pyproject.toml b/pyproject.toml index 71e894e0..9aabaad9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ dependencies = [ "signxml>=4.0.0", "typing-extensions>=4.0.1", ] -requires-python = ">=3.9, <3.13" +requires-python = ">=3.9, <3.14" authors = [ {name = "Fyntex TI SpA", email = "no-reply@fyntex.ai"}, ] @@ -46,6 +46,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dynamic = ["version"] diff --git a/tox.ini b/tox.ini index 502a578b..b8da266f 100644 --- a/tox.ini +++ b/tox.ini @@ -4,6 +4,7 @@ envlist = py310, py311, py312, + py313, [testenv] setenv = @@ -17,3 +18,4 @@ basepython = py310: python3.10 py311: python3.11 py312: python3.12 + py313: python3.13 From 21df8829a298abbe5682185017f0a23e8f77d198 Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 20:58:30 -0300 Subject: [PATCH 6/7] chore: Update history for new version --- HISTORY.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/HISTORY.md b/HISTORY.md index a3cd39a3..2efb2e29 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,13 @@ # History +## 0.61.0 (2025-10-29) + +- (PR #916, 2025-10-29) Add support for Python 3.11 +- (PR #918, 2025-10-29) Add Python 3.11 to target versions of 'Black' +- (PR #919, 2025-10-29) Add support for Python 3.12 +- (PR #920, 2025-10-29) deps: Update `cffi` from 1.16.0 to 1.17.1 +- (PR #921, 2025-10-29) Add support for Python 3.13 + ## 0.60.0 (2025-10-20) - (PR #913, 2025-10-15) rcv: Refactor and extend parsing for "Otros Impuestos" field From 40c3085d5a0e4fd4fab74c5c56d71f27ee784ea6 Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 20:58:47 -0300 Subject: [PATCH 7/7] chore: Bump version from 0.60.0 to 0.61.0 --- .bumpversion.cfg | 2 +- src/cl_sii/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index f1e1c45f..db66902b 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.60.0 +current_version = 0.61.0 commit = True tag = False message = chore: Bump version from {current_version} to {new_version} diff --git a/src/cl_sii/__init__.py b/src/cl_sii/__init__.py index 97d64fe5..748de295 100644 --- a/src/cl_sii/__init__.py +++ b/src/cl_sii/__init__.py @@ -4,4 +4,4 @@ """ -__version__ = '0.60.0' +__version__ = '0.61.0'