From 2bd09a80dfaf8913cdcc3e43f3afb85e5b741e5c Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Sat, 11 Jul 2026 16:09:14 +0200 Subject: [PATCH 1/4] Bumped dependencies. --- doc/Dependency.rst | 2 +- pyproject.toml | 2 +- requirements.txt | 2 +- tests/typing/requirements.txt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/Dependency.rst b/doc/Dependency.rst index b526826f..25a09cd1 100644 --- a/doc/Dependency.rst +++ b/doc/Dependency.rst @@ -121,7 +121,7 @@ the mandatory dependencies too. +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `Coverage `__ | ≥7.15 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ -| `mypy `__ | ≥2.1 | `MIT `__ | *Not yet evaluated.* | +| `mypy `__ | ≥2.3 | `MIT `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `typing-extensions `__ | ≥4.16 | `PSF-2.0 `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ diff --git a/pyproject.toml b/pyproject.toml index a88adf61..d9a1d5cf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [build-system] requires = [ "setuptools >= 83.0", - "pyTooling ~= 8.15" + "pyTooling ~= 8.16" ] build-backend = "setuptools.build_meta" diff --git a/requirements.txt b/requirements.txt index e8982685..a074ed41 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -pyTooling >= 8.15 +pyTooling >= 8.16 pyEDAA.Reports ~= 0.17.4 sphinx >= 9.1, < 10.0 docutils >= 0.22.0 diff --git a/tests/typing/requirements.txt b/tests/typing/requirements.txt index 66ab0a87..2a9654e4 100644 --- a/tests/typing/requirements.txt +++ b/tests/typing/requirements.txt @@ -1,6 +1,6 @@ -r ../../requirements.txt # Static Type Checking -mypy[reports] ~= 2.1 +mypy[reports] ~= 2.3 typing_extensions ~= 4.16 lxml >= 6.1, <7.0 From 8970c513c15247d7fd9da2a6002f3cb9c4145951 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Fri, 31 Jul 2026 15:16:28 +0000 Subject: [PATCH 2/4] Require pyEDAA.Reports 0.18, bump version to 0.11.2 `pyEDAA.Reports ~= 0.17.4` excludes 0.18, and 0.17.4 cannot be imported alongside pyTooling 8.18.0: File ".../pyEDAA/Reports/DocumentationCoverage/Python.py" class DocStrCoverage(metaclass=ExtendedType): del ResultCollection ... _coverageReport: ResultCollection NameError: name 'ResultCollection' is not defined 0.17.4 imports `ResultCollection` inside the class body and deletes the name at the end of it. Under PEP 649 the annotation is evaluated lazily, by which time the name is gone. It stayed asleep because pyTooling 8.17.0's non-slots branch of `_computeSlots` read only `members["__annotations__"]`, which Python 3.14 doesn't provide, so the annotation was never evaluated. v8.18.0 added the PEP 649 fallback to that branch and the latent defect started raising. pyEDAA.Reports 0.18.0 moved both imports to module level and dropped the `del`, so widening the pin is the whole fix. This is not about a missing dependency - `docstr_coverage ~= 2.3.2` is a direct requirement here and was installed all along; a missing package would raise `ModuleNotFoundError` at the import, not `NameError` at annotation evaluation. Verified against pyTooling 8.18+: * pyEDAA.Reports v0.17.4 -> NameError, as in CI * pyEDAA.Reports 0.18 -> `sphinx_reports.DataModel.CodeCoverage` imports * `pytest tests/unit` -> 2 passed `doc/Dependency.rst` gains a pyEDAA.Reports row in the mandatory-dependency table, so it moves out of the "document the dependency to" TODO. The pyTooling row's floor there was stale at >=8.11 while `requirements.txt` already said >=8.16; corrected. Grid column widths are preserved and the table re-parses under docutils with 0 errors. Co-Authored-By: Patrick Lehmann --- doc/Dependency.rst | 5 +++-- requirements.txt | 2 +- run.ps1 | 2 +- sphinx_reports/__init__.py | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/Dependency.rst b/doc/Dependency.rst index 25a09cd1..a1200fea 100644 --- a/doc/Dependency.rst +++ b/doc/Dependency.rst @@ -66,7 +66,9 @@ When installed as ``pyTooling``: +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================+=============+===========================================================================================+========================================================================================================================================================+ -| `pyTooling `__ | ≥8.11 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥8.16 | `Apache License, 2.0 `__ | *None* | ++-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ +| `pyEDAA.Reports `__ | ≥0.18 | `Apache License, 2.0 `__ | lxml, pyTooling, ruamel.yaml | +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ .. TODO:: document the dependency to @@ -74,7 +76,6 @@ When installed as ``pyTooling``: * Sphinx * docstr_coverage * interrogate - * pyEDAA.Reports .. _DEP/testing: diff --git a/requirements.txt b/requirements.txt index a074ed41..46bc4c0d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ pyTooling >= 8.16 -pyEDAA.Reports ~= 0.17.4 +pyEDAA.Reports ~= 0.18 sphinx >= 9.1, < 10.0 docutils >= 0.22.0 docutils_stubs >= 0.0.22 diff --git a/run.ps1 b/run.ps1 index 477fb9fb..4915eb8f 100644 --- a/run.ps1 +++ b/run.ps1 @@ -32,7 +32,7 @@ Param( ) $PackageName = "sphinx_reports" -$PackageVersion = "0.11.1" +$PackageVersion = "0.11.2" # set default values $EnableDebug = [bool]$PSCmdlet.MyInvocation.BoundParameters["Debug"] diff --git a/sphinx_reports/__init__.py b/sphinx_reports/__init__.py index b016f5cf..6da4e405 100644 --- a/sphinx_reports/__init__.py +++ b/sphinx_reports/__init__.py @@ -43,7 +43,7 @@ __email__ = "Paebbels@gmail.com" __copyright__ = "2023-2026, Patrick Lehmann" __license__ = "Apache License, Version 2.0" -__version__ = "0.11.1" +__version__ = "0.11.2" __keywords__ = [ "Python3", "Sphinx", "Extension", "Report", "doc-string", "interrogate", "Code Coverage", "Coverage", "Documentation Coverage", "Unittest", "Dependencies", "Summary" From c1784fdb6b68cdb111cfbaf85159e842ac5c37ff Mon Sep 17 00:00:00 2001 From: Claude Code Date: Fri, 31 Jul 2026 15:39:25 +0000 Subject: [PATCH 3/4] Bump dependencies, and the `doc/Dependency.rst` rows with them Applies the five open dependabot proposals by hand, because merging them would leave `doc/Dependency.rst` untouched - dependabot only edits requirement files - and two of them would have reverted the version bump. | Dependency | From | To | Was | |---|---|---|---| | pyTooling | >= 8.16 / ~= 8.16 | >= 8.19 / ~= 8.19 | #97 | | docutils | >= 0.22.0 | >= 0.23 | #89 | | sphinxcontrib-mermaid | ~= 2.0 | ~= 2.1 | #96 | | sphinx_autodoc_typehints | ~= 3.12 | ~= 3.13 | #98 | | lxml | >= 6.1 | >= 6.1.1 | #91 | pyTooling goes to 8.19, not the 8.17 dependabot proposed: 8.17 was the latest when that PR opened, 8.19.0 is current, and `pyEDAA.Reports ~= 0.18` already forces `>= 8.18` transitively. Tracking latest matches what 2bd09a8 did. #91 and #89 were branched before the v0.11.1 release, so merging either would have reset `__version__` and `$PackageVersion` to 0.11.1 - and #91 would also have dropped the `__project_url__`/`__documentation_url__`/`__issue_tracker_url__` dunder variables added since. Six rows in `doc/Dependency.rst` updated to match. Two of the three pyTooling rows still read >=8.11, stale by three releases, since nothing keeps that file in step with the requirement files. Column widths are preserved; all six dependency tables re-parse under docutils with 0 errors. `pytest tests/unit`: 2 passed. Co-Authored-By: Patrick Lehmann --- doc/Dependency.rst | 12 ++++++------ doc/requirements.txt | 4 ++-- pyproject.toml | 2 +- requirements.txt | 4 ++-- tests/typing/requirements.txt | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/Dependency.rst b/doc/Dependency.rst index a1200fea..79eb2edd 100644 --- a/doc/Dependency.rst +++ b/doc/Dependency.rst @@ -66,7 +66,7 @@ When installed as ``pyTooling``: +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================+=============+===========================================================================================+========================================================================================================================================================+ -| `pyTooling `__ | ≥8.16 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥8.19 | `Apache License, 2.0 `__ | *None* | +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | `pyEDAA.Reports `__ | ≥0.18 | `Apache License, 2.0 `__ | lxml, pyTooling, ruamel.yaml | +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -126,7 +126,7 @@ the mandatory dependencies too. +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `typing-extensions `__ | ≥4.16 | `PSF-2.0 `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ -| `lxml `__ | ≥6.1 | `BSD 3-Clause `__ | *Not yet evaluated.* | +| `lxml `__ | ≥6.1.1 | `BSD 3-Clause `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ @@ -166,13 +166,13 @@ the mandatory dependencies too. +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+ -| `pyTooling `__ | ≥8.11 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥8.19 | `Apache License, 2.0 `__ | *None* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `Sphinx `__ | ≥9.1 | `BSD 3-Clause `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `sphinx_rtd_theme `__ | ≥3.1 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| `sphinxcontrib-mermaid `__ | ≥2.0 | `BSD `__ | *Not yet evaluated.* | +| `sphinxcontrib-mermaid `__ | ≥2.1 | `BSD `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `autoapi `__ | ≥2.0.1 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -180,7 +180,7 @@ the mandatory dependencies too. +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `sphinx-copybutton `__ | ≥0.5 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| `sphinx_autodoc_typehints `__ | ≥3.12 | `MIT `__ | *Not yet evaluated.* | +| `sphinx_autodoc_typehints `__ | ≥3.13 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ .. TODO:: document the usage of @@ -227,7 +227,7 @@ install the mandatory dependencies too. +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +============================================================================+==============+==========================================================================================================+======================================================================================================================================================+ -| `pyTooling `__ | ≥8.11 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥8.19 | `Apache License, 2.0 `__ | *None* | +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `wheel `__ | ≥0.45 | `MIT `__ | *Not yet evaluated.* | +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/doc/requirements.txt b/doc/requirements.txt index aef5fdc1..7cab3fe4 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -9,8 +9,8 @@ sphinx_rtd_theme ~= 3.1 # Sphinx Extenstions -sphinxcontrib-mermaid ~= 2.0 +sphinxcontrib-mermaid ~= 2.1 autoapi ~= 2.0.1 sphinx_design ~= 0.7.0 sphinx-copybutton ~= 0.5.2 -sphinx_autodoc_typehints ~= 3.12 +sphinx_autodoc_typehints ~= 3.13 diff --git a/pyproject.toml b/pyproject.toml index d9a1d5cf..d418aad6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [build-system] requires = [ "setuptools >= 83.0", - "pyTooling ~= 8.16" + "pyTooling ~= 8.19" ] build-backend = "setuptools.build_meta" diff --git a/requirements.txt b/requirements.txt index 46bc4c0d..ec6ddcc1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ -pyTooling >= 8.16 +pyTooling >= 8.19 pyEDAA.Reports ~= 0.18 sphinx >= 9.1, < 10.0 -docutils >= 0.22.0 +docutils >= 0.23 docutils_stubs >= 0.0.22 Coverage ~= 7.15 diff --git a/tests/typing/requirements.txt b/tests/typing/requirements.txt index 2a9654e4..302c7c29 100644 --- a/tests/typing/requirements.txt +++ b/tests/typing/requirements.txt @@ -3,4 +3,4 @@ # Static Type Checking mypy[reports] ~= 2.3 typing_extensions ~= 4.16 -lxml >= 6.1, <7.0 +lxml >= 6.1.1, <7.0 From 96985c31e59377bf6a987db4e09b09c6e4a9d90d Mon Sep 17 00:00:00 2001 From: Claude Code Date: Fri, 31 Jul 2026 15:44:35 +0000 Subject: [PATCH 4/4] Revert the docutils bump: sphinx 9.1 caps it below 0.23 `docutils >= 0.23` is unsatisfiable alongside `sphinx >= 9.1, < 10.0`: The user requested docutils>=0.23 sphinx 9.1.0 depends on docutils<0.23 and >=0.21 ERROR: ResolutionImpossible Every job that installs `requirements.txt` failed at pip resolution - 29 of them, including all unit tests, all install jobs and both documentation jobs. The previous commit was 39/39 green, so this was entirely my change. Dependabot's proposal (#89) was unmergeable for the same reason; merging it would have broken the pipeline identically. It can only be applied once Sphinx relaxes its upper bound. Back to `>= 0.22.0`. The other four bumps are unaffected - `pip install --dry-run` now resolves `requirements.txt`, `doc/requirements.txt` and `tests/typing/requirements.txt` cleanly, and `pytest tests/unit` passes (2 passed). No `doc/Dependency.rst` change: docutils has no row in that file. Co-Authored-By: Patrick Lehmann --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ec6ddcc1..28bd9cf9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ pyTooling >= 8.19 pyEDAA.Reports ~= 0.18 sphinx >= 9.1, < 10.0 -docutils >= 0.23 +docutils >= 0.22.0 docutils_stubs >= 0.0.22 Coverage ~= 7.15