Repository navigation
ComputePacboyPackages: pyTooling's extras 'dependencies' and 'idna', no sphinx_reports rule - #328
Conversation
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>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | 0 |
🟢 Coverage ∅ diff coverage
Metric Results Coverage variation Report missing for 251b26a1 Diff coverage ✅ ∅ diff coverage 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 Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…-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>
GitHub Pipeline
ComputePacboyPackages(and its standalone copytests/pacman_packages.py), the pip → MSYS2 package table:pypitodependencies, without an alias (Extra 'pypi' is named 'dependencies' pyTooling#635). The rewrite rule forpyTooling[...]follows:dependenciesmaps topython-aiohttp:p; the rule forpypiis removed. Unknown extras are skipped silently, so without this apyTooling[dependencies]requirement would get nopython-aiohttpon MSYS2.idnaand the requirementidnamap topython-idna:p(URL.Parse reads IRIs with iri=True pyTooling#639,URL.Parse(url, iri=True)). MSYS2 shipspython-idna3.20 in mingw64, ucrt64, clang64 and clangarm64.idnais pure Python and would install from PyPI too; it is mapped because MSYS2 has it andpython-aiohttpinstalls it already.tracingmaps topython-jsonschema:p, like the requirementjsonschema: 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 needsrpds-py, a Rust extension without a PyPI wheel for MSYS2.sphinx_reportsis removed: pyTooling.Sphinx replaced sphinx-reports, no repository requires it any more. The rule forpyedaa.osvvmlisted sphinx-reports' packages (python-coverage,python-markupsafe,python-pyaml,python-types-pyyaml) and lackedpython-jsonschema, which pyEDAA.OSVVM needs through pyEDAA.Reports._Checking_Parameters.yml→Requirements_Check: the fixture requirespyTooling[yaml,dependencies,sphinx] ~= 9.0and nosphinx_reports ~= 0.11; the expected packages losepython-coverage,python-pyamlandpython-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
dependencies, merged), URL.Parse reads IRIs with iri=True pyTooling#639 (extraidna, merged) and Read a trace back from OTLP/JSON, and collect what isn't one pyTooling#348 (extratracing); merge together with the pyTooling release that carries them.pyedaa.reportsrule in the same table; whichever merges second removespyEDAA.Reportsfrom the fixture's comments on the two ruamel.yaml packages.