-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Binary distributions such as wheels include C sources #6399
Comments
This does not affect source distributions, and Cython sources (.pyx) are still installed. Fixes aio-libs#6399.
At the same time, you mentioned the debug purposes. You said that only PYX files are necessary to debug but in fact, Cython adds mapping marker comments in the generated C-files that can later be used by coveragepy. I would imagine that the same markers could be used by the tools that provide debugging functionality. Besides, for debugging, it's actually important to see the C sources. |
@webknjaz I was the person who suggested keeping PYX files for frozendict. Cython is different. |
The debug info actually is present:
|
This does not affect source distributions, and Cython sources (.pyx) are still installed. Fixes aio-libs#6399.
@musicinmybrain you are right, debug sections are present in so files. |
I agree—in my opinion, debug sections are valuable for end-users and shouldn’t be stripped by default. |
Describe the bug
Binary distributions such as wheels include C sources (
_find_header.c
,_find_header.h
,_helpers.c
,_http_parser.c
,_http_writer.c
, and_websocket.c
), but these sources don’t provide value in binary distributions and their size is significant.See also aio-libs/frozenlist#250.
To Reproduce
Expected behavior
The C sources should ideally be present in the sdist but not in the bdist, where they don’t really provide any value.
Logs/tracebacks
Python Version
aiohttp Version
multidict Version
yarl Version
OS
Fedora Linux 35—but this issue is platform-independent
Related component
Server
Additional context
A suggested fix is to add to
setup(…)
insetup.py
:which will exclude these sources from binary distributions without affecting source distributions.
It’s possible to exclude some of the Cython files as well, but in
frozenlist
the preference was to keep them in the bdist for debugging purposes.PR to follow.
Code of Conduct
The text was updated successfully, but these errors were encountered: