Skip to content

[PR #13457/e54b79cb backport][3.14] Build the websocket reader_c extension without the reader_c.py symlink - #13470

Merged
Dreamsorcerer merged 1 commit into
3.14from
patchback/backports/3.14/e54b79cbae69e24d5e87469613e97a3d9bec0d4b/pr-13457
Aug 17, 2026
Merged

[PR #13457/e54b79cb backport][3.14] Build the websocket reader_c extension without the reader_c.py symlink#13470
Dreamsorcerer merged 1 commit into
3.14from
patchback/backports/3.14/e54b79cbae69e24d5e87469613e97a3d9bec0d4b/pr-13457

Conversation

@patchback

@patchback patchback Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

This is a backport of PR #13457 as merged into master (e54b79c).

What do these changes do?

Removes the aiohttp/_websocket/reader_c.py symlink; the extension is now compiled directly from reader_py.py using cython --module-name aiohttp._websocket.reader_c. The symlink only existed so Cython would pair the source with reader_c.pxd and emit the right module name, but after #13388 the wheel build materializes it as a regular file in site-packages, which coverage then reports as a new 0% file.

Are there changes in behavior for the user?

No runtime changes; dists no longer contain a stray reader_c.py file, reader_c only exists as the compiled extension.

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

No, it is one less special case; the Makefile rule is the only thing that changed.

Related issue number

Follow up to #13388

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
    • N/A, build tooling only, covered by the existing websocket test suite with extensions enabled
  • Documentation reflects the changes
    • N/A
  • If you provide code modification, please add yourself to CONTRIBUTORS.txt
    • N/A, already listed
  • Add a new news fragment into the CHANGES/ folder
    • name it <issue_or_pr_num>.<type>.rst (e.g. 588.bugfix.rst)

Drafted with Claude Code; reviewed by bdraco.

@greptile-apps

greptile-apps Bot commented Aug 17, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

The PR appears safe to merge because the generated extension keeps the expected module identity and no supported runtime fallback is broken.

Cython resolves the existing reader_c.pxd through the explicit qualified module name, the build and runtime import names remain aligned, and no-extension installations continue to fall back to reader_py.

Reviews (1): Last reviewed commit: "Build the websocket reader_c extension w..." | Re-trigger Greptile

@codecov

codecov Bot commented Aug 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.17%. Comparing base (eb52616) to head (4ac6a77).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             3.14   #13470      +/-   ##
==========================================
+ Coverage   95.63%   96.17%   +0.54%     
==========================================
  Files         159      158       -1     
  Lines       50852    50563     -289     
  Branches     2791     2734      -57     
==========================================
- Hits        48630    48629       -1     
+ Misses       2042     1754     -288     
  Partials      180      180              
Flag Coverage Δ
CI-GHA 96.18% <0.00%> (+0.55%) ⬆️
OS-Linux 95.96% <0.00%> (+0.54%) ⬆️
OS-Windows 93.69% <0.00%> (+0.54%) ⬆️
OS-macOS 95.16% <0.00%> (+0.53%) ⬆️
Py-3.10 95.37% <0.00%> (+0.54%) ⬆️
Py-3.11 95.63% <0.00%> (+0.55%) ⬆️
Py-3.12 95.70% <0.00%> (+0.54%) ⬆️
Py-3.13 95.70% <0.00%> (+0.54%) ⬆️
Py-3.14 95.80% <0.00%> (+0.55%) ⬆️
Py-3.14t 94.80% <0.00%> (+0.54%) ⬆️
Py-pypy-3.11 94.64% <0.00%> (+0.54%) ⬆️
VM-macos 95.16% <0.00%> (+0.53%) ⬆️
VM-ubuntu 95.96% <0.00%> (+0.54%) ⬆️
VM-windows 93.69% <0.00%> (+0.54%) ⬆️
cython-coverage 78.15% <0.00%> (+<0.01%) ⬆️

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.

@codspeed-hq

codspeed-hq Bot commented Aug 17, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 72 untouched benchmarks
⏩ 7 skipped benchmarks1


Comparing patchback/backports/3.14/e54b79cbae69e24d5e87469613e97a3d9bec0d4b/pr-13457 (4ac6a77) with 3.14 (eb52616)

Open in CodSpeed

Footnotes

  1. 7 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.

@Dreamsorcerer
Dreamsorcerer merged commit 11ad704 into 3.14 Aug 17, 2026
48 checks passed
@Dreamsorcerer
Dreamsorcerer deleted the patchback/backports/3.14/e54b79cbae69e24d5e87469613e97a3d9bec0d4b/pr-13457 branch August 17, 2026 21:51
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