wheel: `WheelFile` moved location between 0.31.1 and 0.32.0, breaking user code

I have, for a long time, been using WheelFile in:

Both of these are fairly widely used. At some point between 0.31.2 and 0.32.0, WheelFile appears to have moved from the install module to the wheelfile module, thus breaking imports for both bits of code. Of course, I can work round this with some conditional imports, and new releases of these packages, but it would help if you would consider deprecation warnings or similar before moving stuff around in the public API.

See: https://github.com/matthew-brett/multibuild/issues/202

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 1
  • Comments: 23 (13 by maintainers)

Commits related to this issue

Most upvoted comments

I think that at least the WheelFile class could be exposed in the public API. I’ll have to look around to see what else other projects use from wheel.

Incidentally, the biggest headache for my code was dealing with the zero-permissions RECORD file. If you could see your way through to reverting that change, I am sure that would help.

I thought you’d say that 😃

Pip took the same approach - it certainly reduces maintenance burden, for wheel, but the consequence is that people have to start copying code out of wheel into their own packages, meaning an increasing mess of out of date and incompatible code copies. The same situation is already starting to cause pain for pip.

Just to say that pbr has broken test suite as well. Patch for it has been attached to https://bugs.launchpad.net/pbr/+bug/1798130

AFAIK, there’s no supported public API, as noted in the README:

It should be noted that wheel is not intended to be used as a library, and as such there is no stable, public API.