[PR #13457/e54b79cb backport][3.14] Build the websocket reader_c extension without the reader_c.py symlink - #13470
Conversation
Confidence Score: 5/5The 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 Reviews (1): Last reviewed commit: "Build the websocket reader_c extension w..." | Re-trigger Greptile |
Codecov Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
Merging this PR will not alter performance
Comparing Footnotes
|
This is a backport of PR #13457 as merged into master (e54b79c).
What do these changes do?
Removes the
aiohttp/_websocket/reader_c.pysymlink; the extension is now compiled directly fromreader_py.pyusingcython --module-name aiohttp._websocket.reader_c. The symlink only existed so Cython would pair the source withreader_c.pxdand 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.pyfile,reader_conly 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
CONTRIBUTORS.txtCHANGES/folder<issue_or_pr_num>.<type>.rst(e.g.588.bugfix.rst)Drafted with Claude Code; reviewed by bdraco.