[release] Python universal wheel support
Sean McGinnis
sean.mcginnis at gmail.com
Mon Jan 20 18:01:19 UTC 2020
Greetings,
We have just merged a change to the release-openstack-python job that
changes the wheels we produce to not be universal.
For some background - we added an explicit flag of "--universal" to the
creation of wheels a while back. For projects that have both Python 2
and 3 support, you want an universal wheel. Not all (probably most)
projects did not add this flag to their setup.cfg, so overriding at the
release job level was considered a good way to make sure our output was
what we wanted at the time.
We now have the majority of projects dropping py2 support, so we
actually no longer want to create these universal wheels if py2 support
has been dropped. That has actually been seen to cause some issues.
The downside with this change is that the job is for *all* deliverables
we release, including stable releases. So with this change, any new
stable branches will no longer get universal wheels if the flag has not
been set locally. This was deemed a good tradeoff with the current needs
though. The lack of a univeral wheel may just make installation of py2
stable deliverables just slightly slower, but should not cause any real
issues.
Actions
------
Most likely this won't require any actions on the project team's part.
If you have a project that still supports both py2 and py3 and do not
have the flag set in setup.cfg, that can be added to still get the
universal wheels built. That is done by adding the following:
```
[bdist_wheel]
universal = 1
```
Again, the performance impact is probably very minimal during
installation, so this shouldn't be a major concern.
If there are any oddities noticed after this change, please bring them
up and we can help investigate what is happening.
Thanks!
Sean
More information about the openstack-discuss
mailing list