Skip to content

v9.3.1 - #327

Merged
Paebbels merged 16 commits into
mainfrom
dev
Oct 25, 2026
Merged

v9.3.1#327
Paebbels merged 16 commits into
mainfrom
dev

Conversation

@pytooling-claude

@pytooling-claude pytooling-claude Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Note

A patch release on @r9 without new inputs: ComputePacboyPackages follows pyTooling v10's extras (dependencies, idna, tracing) and drops the sphinx-reports rule, the multi-line if: conditions of CompletePipeline.yml are written without ${{ }}, the job template check of PublishOnPyPI publishes no source distribution, and the documentation names the analyzer behind its coverage page.

🔧 Changes

📖 Documentation

  • doc/DocCoverage.rst: the documentation coverage is analyzed by pyEDAA.Reports.DocumentationCoverage.Python.Analyzer and visualized by pyTooling.Sphinx. The page named docstr-coverage, which the report:doc-coverage directive doesn't use. The CheckDocumentation job template, which runs the docstr-coverage CLI, is unchanged (Documentation coverage page names pyEDAA.Reports' analyzer #325).

🧪 Unit Tests

⚙️ GitHub Pipeline

Others

  • CompletePipeline.yml: the 7 multi-line if: conditions - both artifact clean-ups, the PDF documentation, the GitHub Pages publication, tagging, the release page and the PyPI publication - are written without ${{ }}. An if: is an expression anyway; each condition's text equals the old one without ${{ and }}, so the jobs run under the same conditions as before. Single-line conditions are untouched (Multi-line 'if:' conditions without '${{ }}' #324).
  • doc/conf.py, tests/pacman_packages.py and tests/python_jobs.py: 9 f-strings without placeholder are plain strings; every string keeps its value (f-strings without placeholder are plain strings #323).
  • Version 9.3.1 in myPackage/__init__.py and myFramework/Extension/__init__.py.

Related Issues and Pull-Requests

claude-code and others added 9 commits October 17, 2026 22:24
As pyTooling's own pipeline will; exercises 'publish_sdist' (#319). 'PublishOnPyPI.yml@dev' knows the input now.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
9 f-strings had no placeholder, so their 'f' prefix did nothing; 'f"…"' becomes '"…"', escaped braces '{{'/'}}'
become '{'/'}'. Every string keeps its value. Fixed with CheckNeedlessFStrings (pyflakes F541).

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
An 'if:' is an expression anyway; the house style from pyTooling #588
writes a multi-line condition as a '>-' block scalar without the braces.
8 conditions: 7 in CompletePipeline.yml, 1 in Pipeline.yml. Each
condition's text (yaml.safe_load) equals the old one without '${{' and
'}}'; the more-indented '&&'/'||' lines are unchanged.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
… docstr-coverage.

pyTooling.Sphinx' `report:doc-coverage` directive reads the package's source code with
`pyEDAA.Reports.DocumentationCoverage.Python.Analyzer`; docstr-coverage isn't involved.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@pytooling-claude
pytooling-claude Bot requested a review from Paebbels as a code owner October 25, 2026 02:52
@pytooling-claude pytooling-claude Bot added Documentation Improvements or additions to documentation Job Template Tests JobTmpl: CompletePipeline JobTmpl: PublishOnPyPI Pipeline Reusable workflows Release Release Pull Requests labels Oct 25, 2026
claude-code and others added 5 commits October 25, 2026 14:29
pyTooling v10 renames its extra 'pypi' (aiohttp, packaging, requests) to
'dependencies', without an alias. The pacboy rewrite rule for
'pyTooling[...]' follows: 'dependencies' maps to 'python-aiohttp:p', the
'pypi' rule is removed.

* ComputePacboyPackages/action.yml and its copy tests/pacman_packages.py:
  rule renamed, sorted into place.
* _Checking_Parameters.yml: the fixture requirement and the expected
  package's comment name the new extra.

Simulated the action's script with 'pyTooling[yaml,dependencies,sphinx]':
'python-aiohttp:p' is found through the new rule.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
…' requirement

pyTooling gains the extra 'idna' (URL.Parse reads IRIs with iri=True, the host
converted by IDNA 2008 via the PyPI package 'idna'), and its unit tests require
'idna >= 3.20'. Both map to the MSYS2 package 'python-idna' (3.20 in mingw64,
ucrt64, clang64 and clangarm64).

idna is pure Python and would install from PyPI too. MSYS2 ships it, and
'python-aiohttp' (the 'pypi' extra) already installs it through 'python-yarl',
so with the mapping pacman owns it whichever way it is asked for.

* .github/actions/ComputePacboyPackages/action.yml: 'idna' in 'packages' and
  in 'subPackages["pytooling"]'.
* tests/pacman_packages.py: the same two entries in the standalone copy.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
sphinx_reports is replaced by pyTooling.Sphinx; no repository requires
it anymore. Its rewrite rule goes, and so does its line in the
requirements fixture of 'Requirements_Check' - the expected pacboy
packages lose python-coverage, python-pyaml and python-types-pyyaml,
which only it contributed. Checked by running the action's script on the
fixture: computed and expected sets are equal.

The rule for 'pyedaa.osvvm' still listed sphinx_reports' packages
(coverage, markupsafe, pyaml, types-pyyaml) and lacked jsonschema.
pyEDAA.OSVVM requires ruamel.yaml, pyVHDLModel and pyEDAA.Reports (lxml,
jsonschema): python-jsonschema, python-lxml and the two ruamel.yaml
packages.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
…-jsonschema'.

pyTooling's extra 'tracing' installs jsonschema for reading OTLP/JSON traces. jsonschema needs 'rpds-py', a Rust
extension with no PyPI wheel for MSYS2, so the extra is rewritten to MSYS2's prebuilt package, as the requirement
'jsonschema' already is.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@codacy-production

codacy-production Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

…ide 'dependencies'.

pyTooling renamed the extra 'pypi' to 'dependencies' in v10.0.0-rc9, which isn't released yet; rc8 and older only
have 'pypi'. Without the rule, '@r9' would stop installing 'python-aiohttp' from pacman for a 'pyTooling[pypi]'
requirement on MSYS2 as soon as #328 is released.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@Paebbels
Paebbels merged commit 6d15804 into main Oct 25, 2026
45 of 54 checks passed
This was referenced Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation Job Template Tests JobTmpl: CompletePipeline JobTmpl: PublishOnPyPI Pipeline Reusable workflows Release Release Pull Requests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants