Skip to content

Fix packaging of Cython hash directories#12500

Open
nightcityblade wants to merge 3 commits into
aio-libs:masterfrom
nightcityblade:fix/issue-10860
Open

Fix packaging of Cython hash directories#12500
nightcityblade wants to merge 3 commits into
aio-libs:masterfrom
nightcityblade:fix/issue-10860

Conversation

@nightcityblade
Copy link
Copy Markdown
Contributor

What do these changes do?

Exclude generated Cython .hash directories from aiohttp source distributions and wheels.

Are there changes in behavior for the user?

No runtime behavior changes. Release artifacts no longer include generated build hash metadata.

Is it a substantial burden for the maintainers to support this?

No. This is a small packaging exclusion that keeps generated build metadata out of distributions.

Related issue number

Fixes #10860.

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
  • Documentation reflects the changes
  • If you provide code modification, please add yourself to CONTRIBUTORS.txt
    • The format is .
    • Please keep alphabetical order, the file is sorted by names.
  • Add a new news fragment into the CHANGES/ folder
    • name it <issue_or_pr_num>.<type>.rst (e.g. 588.bugfix.rst)

    • if you don't have an issue number, change it to the pull request
      number after creating the PR

      • .bugfix: A bug fix for something the maintainers deemed an
        improper undesired behavior that got corrected to match
        pre-agreed expectations.
      • .feature: A new behavior, public APIs. That sort of stuff.
      • .deprecation: A declaration of future API removals and breaking
        changes in behavior.
      • .breaking: When something public is removed in a breaking way.
        Could be deprecated in an earlier release.
      • .doc: Notable updates to the documentation structure or build
        process.
      • .packaging: Notes for downstreams about unobvious side effects
        and tooling. Changes in the test invocation considerations and
        runtime assumptions.
      • .contrib: Stuff that affects the contributor experience. e.g.
        Running tests, building the docs, setting up the development
        environment.
      • .misc: Changes that are hard to assign to any of the above
        categories.
    • Make sure to use full sentences with correct case and punctuation,
      for example:

      Fixed issue with non-ascii contents in doctest text files
      -- by :user:`contributor-gh-handle`.

      Use the past tense or the present tense a non-imperative mood,
      referring to what's changed compared to the last released version
      of this project.

Validation:

  • AIOHTTP_NO_EXTENSIONS=1 /tmp/aiohttp-build-venv/bin/python -m build --sdist --wheel
  • Verified the generated .tar.gz and .whl contain no /.hash/ entries after creating a sample aiohttp/_websocket/.hash/ directory.
  • /tmp/aiohttp-build-venv/bin/python tools/check_changes.py 10860.packaging.rst

@psf-chronographer psf-chronographer Bot added the bot:chronographer:provided There is a change note present in this PR label May 11, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.94%. Comparing base (1c472b5) to head (59436d4).
⚠️ Report is 340 commits behind head on master.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #12500      +/-   ##
==========================================
+ Coverage   98.77%   98.94%   +0.16%     
==========================================
  Files         128      131       +3     
  Lines       44890    46680    +1790     
  Branches     2383     2421      +38     
==========================================
+ Hits        44340    46186    +1846     
+ Misses        390      369      -21     
+ Partials      160      125      -35     
Flag Coverage Δ
Autobahn 22.44% <ø> (?)
CI-GHA 98.91% <ø> (+0.27%) ⬆️
OS-Linux 98.66% <ø> (+0.29%) ⬆️
OS-Windows 97.02% <ø> (+0.30%) ⬆️
OS-macOS 97.92% <ø> (+0.31%) ⬆️
Py-3.10.11 97.41% <ø> (+0.25%) ⬆️
Py-3.10.19 ?
Py-3.10.20 97.90% <ø> (?)
Py-3.11.14 ?
Py-3.11.15 98.15% <ø> (?)
Py-3.11.9 97.67% <ø> (+0.30%) ⬆️
Py-3.12.10 97.75% <ø> (+0.29%) ⬆️
Py-3.12.12 ?
Py-3.12.13 98.24% <ø> (?)
Py-3.13.12 ?
Py-3.13.13 98.46% <ø> (?)
Py-3.14.3 ?
Py-3.14.3t ?
Py-3.14.4 97.69% <ø> (?)
Py-3.14.5 98.20% <ø> (?)
Py-3.14.5t 97.53% <ø> (?)
Py-pypy3.11.13-7.3.20 ?
Py-pypy3.11.15-7.3.22 97.41% <ø> (?)
VM-macos 97.92% <ø> (+0.31%) ⬆️
VM-ubuntu 98.66% <ø> (+0.29%) ⬆️
VM-windows 97.02% <ø> (+0.30%) ⬆️
cython-coverage 37.92% <ø> (?)

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

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

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented May 11, 2026

Merging this PR will not alter performance

✅ 72 untouched benchmarks
⏩ 69 skipped benchmarks1


Comparing nightcityblade:fix/issue-10860 (59436d4) with master (5cde279)

Open in CodSpeed

Footnotes

  1. 69 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@webknjaz webknjaz self-assigned this May 15, 2026
Comment thread CHANGES/10860.packaging.rst Outdated
@@ -0,0 +1,2 @@
Excluded generated Cython ``.hash`` directories from source distributions and wheels.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Excluded generated Cython ``.hash`` directories from source distributions and wheels.
Excluded generated Cython :file:`.hash/` directories from source distributions and wheels

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in commit 59436d4 — switched the changelog entry to Sphinx's :file: role for the generated .hash/ directory.

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

Labels

bot:chronographer:provided There is a change note present in this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

inclusion of .hash directories into wheels

2 participants