paylogic/py2deb

Support for wheel distributions

xolox opened this issue · 0 comments

xolox commented

With the increasing adoption of the wheel distribution archive format in the Python community in the past few years, I've noticed package authors starting to publish new releases to PyPI as wheels exclusively (i.e. without an accompanying source distribution):

While writing up this issue text I notice that a more recent version of textX has restored source distribution uploads, but email_validator hasn't. More importantly this is not about specific examples but about the general trend.

Upgrading the version of pip used by pip-accel

Lately I've considered the biggest blocker for this (adding wheel support to py2deb) to be upgrading pip-accel to use a newer version of pip:

  • The version of pip used by pip-accel is currently pinned to 7.1.2, see also #14.
  • While pip-accel with pip 7.1.2 does support wheels, the pip-accel API doesn't expose it. Furthermore adding full-fledged support for wheels to py2deb based on pip 7.1.2 now and then upgrading pip-accel and py2deb to use pip 9.x may duplicate a lot of work.
  • I could decide that pip-accel is a dying project that's not worth saving (this touches on paylogic/pip-accel#78) but then I'd have to rewrite py2deb to work without pip-accel, which will be a major undertaking as well. I'm hesitant to make that move and would rather improve pip-accel instead.

Minimize scope by skipping pip-accel upgrade?

Entertaining the thought of adding wheel support to py2deb without involving a pip-accel upgrade (because scope creep):

  • Wheel is a format with a proper specification so implementing support for wheels in py2deb now and upgrading pip and pip-accel later might not duplicate much work.
  • While py2deb needs to understand wheel distributions in order to transform them into Debian packages, pip-accel just needs to hand them off to pip for installation.