Skip to content

ComputePacboyPackages: pyTooling's extras 'dependencies' and 'idna', no sphinx_reports rule - #328

Merged
Paebbels merged 4 commits into
devfrom
claude/pacboy-mappings
Oct 25, 2026
Merged

Paebbels merged 4 commits into
devfrom
claude/pacboy-mappings

Conversation

@pytooling-claude

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

Copy link
Copy Markdown

GitHub Pipeline

  • ComputePacboyPackages (and its standalone copy tests/pacman_packages.py), the pip → MSYS2 package table:
    • pyTooling v10 renames its extra pypi to dependencies, without an alias (Extra 'pypi' is named 'dependencies' pyTooling#635). The rewrite rule for pyTooling[...] follows: dependencies maps to python-aiohttp:p; the rule for pypi is removed. Unknown extras are skipped silently, so without this a pyTooling[dependencies] requirement would get no python-aiohttp on MSYS2.
    • pyTooling's new extra idna and the requirement idna map to python-idna:p (URL.Parse reads IRIs with iri=True pyTooling#639, URL.Parse(url, iri=True)). MSYS2 ships python-idna 3.20 in mingw64, ucrt64, clang64 and clangarm64. idna is pure Python and would install from PyPI too; it is mapped because MSYS2 has it and python-aiohttp installs it already.
    • pyTooling's new extra tracing maps to python-jsonschema:p, like the requirement jsonschema: it installs jsonschema for reading OTLP/JSON traces (Read a trace back from OTLP/JSON, and collect what isn't one pyTooling#348), and jsonschema needs rpds-py, a Rust extension without a PyPI wheel for MSYS2.
    • The rewrite rule for sphinx_reports is removed: pyTooling.Sphinx replaced sphinx-reports, no repository requires it any more. The rule for pyedaa.osvvm listed sphinx-reports' packages (python-coverage, python-markupsafe, python-pyaml, python-types-pyyaml) and lacked python-jsonschema, which pyEDAA.OSVVM needs through pyEDAA.Reports.
  • _Checking_Parameters.yml → Requirements_Check: the fixture requires pyTooling[yaml,dependencies,sphinx] ~= 9.0 and no sphinx_reports ~= 0.11; the expected packages lose python-coverage, python-pyaml and python-types-pyyaml, which only that line contributed. Checked by running the action's inline script against the fixture files: the computed set equals the expected set.

Related Issues and Pull-Requests

claude-code and others added 3 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>
@pytooling-claude
pytooling-claude Bot requested a review from Paebbels as a code owner October 25, 2026 14:31
@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

🟢 Coverage ∅ diff coverage

Metric Results
Coverage variation Report missing for 251b26a1
Diff coverage ✅ ∅ diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (251b26a) Report Missing Report Missing Report Missing
Head commit (143af3f) 41 38 92.68%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#328) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

1 Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

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.

@codecov

codecov Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.36%. Comparing base (65730d8) to head (143af3f).
⚠️ Report is 10 commits behind head on dev.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #328   +/-   ##
=======================================
  Coverage   85.36%   85.36%           
=======================================
  Files           1        1           
  Lines          41       41           
  Branches        7        7           
=======================================
  Hits           35       35           
  Misses          3        3           
  Partials        3        3           
Flag Coverage Δ
unittests 85.36% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…-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>
@Paebbels
Paebbels merged commit e6d7cd8 into dev Oct 25, 2026
157 of 158 checks passed
@Paebbels
Paebbels deleted the claude/pacboy-mappings branch October 25, 2026 17:21

This branch had an error being deployed

1 failed deployment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants