-
Notifications
You must be signed in to change notification settings - Fork 619
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
Publish sdist and bdist wheel #359
Comments
I've had serious issues with publishing wheels in the past (eg. see #288 and other linked issues). What concrete problem is this lack of wheels creating for users of pycparser today? |
I'm sorry you had negative experiences in the past. "Once bitten, twice shy" is entirely understandable. The root cause of that issue was that the
Faster, more repeatable and more easily cacheable installs. It is the future of Python package distribution and the vast majority of the popular packages are all publishing wheels. |
I did read that PEP in the past, and it's not very convincing for pycparser. pycparser is pure Python, so installing it is quick and easy with or without wheels. It doesn't require anything except Python itself on the target machine. Wheels just don't provide a killer feature for pycparser that would motivate spending work on it, to be honest. Can you show me a concrete proposal as to what would change? Like a PR? Is this only about adding |
@graingert you mean the extra line in setup.cfg? It's still there, that PR (#100) wasn't rolled back. My question is - what else do I have to do -- just publish the wheel? Meaning, the next time I release a new pycparser version, I should use:
Instead of:
Correct? If yes, I can try to do this again when I'm releasing the next version (2.20). Then presumably both the source distribution and the wheel will be pushed from the same commit tag. |
You can also checkout any previous tag (that doesn't currently or previously have a whl) and run |
Yes, this is really all that is necessary.
This would be fantastic, and really all that I can ask for. Thank you! @graingert I'm not sure we need to ask @eliben to retrospectively fix things. Moving forward is good enough I think and it is probably the lowest risk and least work for all concerned. @eliben It sounds like you know exactly how to upload a new release of both sdist and bdist_wheel. If you'd like some repeatability, perhaps @graingert and I can contribute a Makefile perhaps using |
xref numpy/numpy#15108 for an example where shipping a wheel would save end users problems. |
@mattip I'm curious to understand how that would help. |
I'm pretty sure a wheel won't fix their bug, but it will make their build process slightly faster |
There are two stages: installing and then using. You are correct that we cannot use pycparser when But this issue is about installing it as part of one out of many CI test runs. We don't want to special-case to avoid installing pycparser in that specific run (and in fact are pulling in pycparser as a dependency of another package), so it would be nice if we could just install it and not use it. Installing from a wheel is just unzipping the wheel and succeeds with |
Bit me in the bottom today trying to build multi-platform pex binaries. Specifying even one |
I've opened #365 to track releasing version 2.20 in the next few days. I will try to push the wheel for this version. Please subscribe to that issue to see updates - I might ask for help if the wheels cause issues for pip installs. |
Thanks @eliben I will be standing by to assist and hopefully some of the others in this issue will be too. |
2.20 pushed with a wheel, please see update on #365 and comment there if you see issues. I'm closing this one. |
The benefits of wheels are well documented. See: https://pythonwheels.com/
This package is pure Python and publishing it as both source and as a wheel is simple.
Would you accept a contribution to add a Makefile to this repo that would allow you to build both source distribution (sdist) and built distribution (wheel)?
The text was updated successfully, but these errors were encountered: