diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml index ba002c0e..2a8d1d5e 100644 --- a/.github/workflows/Pipeline.yml +++ b/.github/workflows/Pipeline.yml @@ -12,7 +12,6 @@ jobs: uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@r6 with: package_name: 'sphinx_reports' - unittest_python_version: '3.13' unittest_python_version_list: '3.11 3.12 3.13 3.14' unittest_disable_list: 'windows-arm:* windows-arm:pypy-3.11' bandit: 'true' diff --git a/doc/Dependency.rst b/doc/Dependency.rst index d951f7e2..500d6b48 100644 --- a/doc/Dependency.rst +++ b/doc/Dependency.rst @@ -53,7 +53,7 @@ When installed as ``pyTooling``: +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================+=============+===========================================================================================+========================================================================================================================================================+ -| `pyTooling `__ | ≥8.7 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥8.8 | `Apache License, 2.0 `__ | *None* | +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ .. TODO:: document the dependency to @@ -102,13 +102,13 @@ the mandatory dependencies too. +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=====================================================================+=============+========================================================================================+======================+ -| `pytest `__ | ≥8.4 | `MIT `__ | *Not yet evaluated.* | +| `pytest `__ | ≥9.0 | `MIT `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `pytest-cov `__ | ≥7.0 | `MIT `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ -| `Coverage `__ | ≥7.11 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +| `Coverage `__ | ≥7.12 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ -| `mypy `__ | ≥1.18 | `MIT `__ | *Not yet evaluated.* | +| `mypy `__ | ≥1.19 | `MIT `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `typing-extensions `__ | ≥4.15 | `PSF-2.0 `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ @@ -152,11 +152,11 @@ the mandatory dependencies too. +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+ -| `pyTooling `__ | ≥8.7 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥8.8 | `Apache License, 2.0 `__ | *None* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| `Sphinx `__ | ≥8.2 | `BSD 3-Clause `__ | *Not yet evaluated.* | +| `Sphinx `__ | ≥9.0 | `BSD 3-Clause `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| `sphinxcontrib-mermaid `__ | ≥1.0 | `BSD `__ | *Not yet evaluated.* | +| `sphinxcontrib-mermaid `__ | ≥1.2 | `BSD `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `autoapi `__ | ≥2.0.1 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -213,7 +213,7 @@ install the mandatory dependencies too. +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +============================================================================+==============+==========================================================================================================+======================================================================================================================================================+ -| `pyTooling `__ | ≥8.7 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥8.8 | `Apache License, 2.0 `__ | *None* | +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `wheel `__ | ≥0.45 | `MIT `__ | *Not yet evaluated.* | +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/doc/Overview.rst b/doc/Overview.rst index 290928d6..fcfb05f4 100644 --- a/doc/Overview.rst +++ b/doc/Overview.rst @@ -37,14 +37,14 @@ See the following :file:`doc/requirements.txt` file as an example with commonly -r ../requirements.txt # Enforce latest version on ReadTheDocs - sphinx ~= 8.2 - docutils ~= 0.21 + sphinx ~= 9.0 + docutils ~= 0.22 # ReadTheDocs Theme sphinx_rtd_theme ~= 3.0 # Sphinx Extenstions - sphinxcontrib-mermaid ~= 1.0 + sphinxcontrib-mermaid ~= 1.2 autoapi ~= 2.0.1 sphinx_design ~= 0.6 sphinx-copybutton ~= 0.5 diff --git a/doc/requirements.txt b/doc/requirements.txt index b6ac51f2..1afd882c 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,15 +1,15 @@ -r ../requirements.txt # Enforce latest version on ReadTheDocs -sphinx ~= 8.2 -docutils ~= 0.21 +sphinx >= 8.0, < 10.0 +docutils ~= 0.22 docutils_stubs ~= 0.0.22 # ReadTheDocs Theme sphinx_rtd_theme ~= 3.0 # Sphinx Extenstions -sphinxcontrib-mermaid ~= 1.0 +sphinxcontrib-mermaid ~= 1.2 autoapi ~= 2.0.1 sphinx_design ~= 0.6 sphinx-copybutton ~= 0.5 diff --git a/pyproject.toml b/pyproject.toml index de687bd1..8e25d222 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ requires = [ "setuptools >= 80.0", "wheel ~= 0.45", - "pyTooling ~= 8.7" + "pyTooling ~= 8.8" ] build-backend = "setuptools.build_meta" @@ -21,23 +21,21 @@ namespace_packages = true html_report = "report/typing" [tool.pytest] -junit_xml = "report/unit/UnittestReportSummary.xml" - -[tool.pyedaa-reports] -junit_xml = "report/unit/unittest.xml" - -[tool.pytest.ini_options] -addopts = "--tb=native" +addopts = ["--tb=native"] # Don't set 'python_classes = *' otherwise, pytest doesn't search for classes # derived from unittest.Testcase -python_files = "*" -python_functions = "test_*" +python_files = ["*"] +python_functions = ["test_*"] filterwarnings = [ "error::DeprecationWarning", "error::PendingDeprecationWarning" ] +junit_xml = "report/unit/UnittestReportSummary.xml" junit_logging = "all" +[tool.pyedaa-reports] +junit_xml = "report/unit/unittest.xml" + [tool.interrogate] color = true verbose = 1 # possible values: 0 (minimal output), 1 (-v), 2 (-vv) diff --git a/requirements.txt b/requirements.txt index e38554e3..f1065b02 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,9 @@ pyTooling >= 6.7, <9.0 pyEDAA.Reports ~= 0.17 -sphinx ~= 8.2 -docutils ~= 0.21 +sphinx >= 8.0, < 10.0 +docutils >= 0.21, < 0.23 docutils_stubs ~= 0.0.22 -Coverage ~= 7.11 +Coverage ~= 7.12 docstr_coverage ~= 2.3.2 diff --git a/run.ps1 b/run.ps1 index f52dca16..13f574f2 100644 --- a/run.ps1 +++ b/run.ps1 @@ -32,7 +32,7 @@ Param( ) $PackageName = "sphinx_reports" -$PackageVersion = "0.9.9" +$PackageVersion = "0.9.10" # set default values $EnableDebug = [bool]$PSCmdlet.MyInvocation.BoundParameters["Debug"] diff --git a/sphinx_reports/Common.py b/sphinx_reports/Common.py index b9957bec..d5b1d29d 100644 --- a/sphinx_reports/Common.py +++ b/sphinx_reports/Common.py @@ -32,7 +32,6 @@ **Common exceptions, classes and helper functions.** """ from enum import Flag -from sys import version_info from typing import List from pyTooling.Decorators import export @@ -41,15 +40,7 @@ @export class ReportExtensionError(ExtensionError): - # WORKAROUND: for Python <3.11 - # Implementing a dummy method for Python versions before - __notes__: List[str] - if version_info < (3, 11): # pragma: no cover - def add_note(self, message: str) -> None: - try: - self.__notes__.append(message) - except AttributeError: - self.__notes__ = [message] + pass @export diff --git a/sphinx_reports/__init__.py b/sphinx_reports/__init__.py index 02daa9cd..25e6f32f 100644 --- a/sphinx_reports/__init__.py +++ b/sphinx_reports/__init__.py @@ -43,7 +43,7 @@ __email__ = "Paebbels@gmail.com" __copyright__ = "2023-2025, Patrick Lehmann" __license__ = "Apache License, Version 2.0" -__version__ = "0.9.9" +__version__ = "0.9.10" __keywords__ = [ "Python3", "Sphinx", "Extension", "Report", "doc-string", "interrogate", "Code Coverage", "Coverage", "Documentation Coverage", "Unittest", "Dependencies", "Summary" @@ -215,7 +215,7 @@ def AddCSSFiles(sphinxApplication: Sphinx) -> None: cssContent = readResourceFile(ResourcePackage, cssFilename) # Compute md5 hash of CSS file - hash = md5(cssContent.encode("utf8")).hexdigest() + hash = md5(cssContent.encode("utf8")).hexdigest() # nosec B324 # Write the CSS file into output directory cssFile = staticDirectory / f"sphinx-reports.{hash}.css" diff --git a/tests/requirements.txt b/tests/requirements.txt index 787c2e67..a728b72b 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,13 +1,13 @@ -r ../requirements.txt # Coverage collection -Coverage ~= 7.11 +Coverage ~= 7.12 # Test Runner -pytest ~= 8.4 +pytest ~= 9.0 pytest-cov ~= 7.0 # Static Type Checking -mypy[reports] ~= 1.18 -typing_extensions ~= 4.15 -lxml >= 5.4, <7.0 +mypy[reports] ~= 1.19; sys_platform != 'win32' +typing_extensions ~= 4.15; sys_platform != 'win32' +lxml >= 5.4, <7.0; sys_platform != 'win32'