Add wheel build option#133
Add wheel build option#133thibaudcolas merged 3 commits intospringload:masterfrom Stormheg:feature/package-wheel
Conversation
thibaudcolas
left a comment
There was a problem hiding this comment.
Thank you for taking a stab at this @Stormheg!
This is working as expected for me, I’d rather still only have the single "build" command but I can make that change when merging this.
Before merging though – an important question from #132 was whether this change would be considered a breaking change or not. We’re still publishing as a source archive so I imagine that reduces the likelihood of issues, but I’d suspect lots of installers will default to the wheel if both options are available. Is that going to cause problems for some people?
Additionally I see Wagtail has this config for their wheel: https://github.com/wagtail/wagtail/blob/master/setup.cfg#L1-L2. Would we need this here as well?
|
Thanks for the thoughtful review @thibaudcolas!
Refactored into a single build command 👍
I did some research on what that To be honest, I don't think adding a python tag will add any significant value.
I've tried wagtail bakery demo with a wheel version of this library and encountered no issues. But perhaps consider testing yourself and making a test release to PyPi? Like you mentioned, installers will likely default to wheel versions of this library. I think there is a remote chance that causes issues in specific setups. Lets err on the side of caution, there is no harm done in making a major release 🙂 |
|
Thank you :) I don’t think making a test release to PyPI will help much except confirming that it "works on my machine" – as you say it’s more about knowing about the remote chances, whether that’s old versions of pip, or other PyPI clients. It’s very undesirable for this to be done as a major release if it could be done as a patch one, for a few reasons:
Researching this a bit, it looks like pip just does |
|
It looks like Django started publishing wheels in v1.6, but also backported the change to v1.5 and just did so on a patch update:
This seems like as good of a sign as any that this should be appropriate. |
|
It looks like it might be appropriate for us to actually upload wheels to existing releases – see pypa/packaging-problems#75. I’m still researching this though. |
thibaudcolas
left a comment
There was a problem hiding this comment.
Thank you @Stormheg!
fixes #132
The primary purpose of this PR is to add an
make bdist_wheelcommand to build a python wheel archive. This task is included in both themake publishandmake publish-testcommands and does not replace source distributions.I've added a
make clean-distcommand to clean the dist folder. This command is ran before publishing to make sure we have a clean dist folder.Consider adding unit tests, especially for bug fixes. If you don't, tell us why.make test-coverage)make lint)