[Wheel-builders] [RFC] Use UPX to compress libraries in wheels?

Olivier Grisel olivier.grisel at ensta.org
Wed Apr 20 05:14:35 EDT 2016


This project seems interesting:

http://upx.sourceforge.net/

This could potentially reduce the size of our wheels significantly to
both reduce bandwidth usage
and speed up install times with pip. We could add an option to
auditwheel repair to enable UPX compaction on the compiled extensions
and the grafted libraries.

Another benefit would be to reduce on-disk size of the typical
virtualenv holding the full scipy stack.
This can be important to deploy it in serverless environments such as
AWS lambda which has size restrictions (50MB) for the hosted code. For
instance see this blog post on this topic (it does not use UPX, only
stripped binaries):

https://serverlesscode.com/post/deploy-scikitlearn-on-lamba/

Note that this second use case (venv compaction) could easily be
addressed by a tool not related to wheels but I thought that using UPX
upstream in the build & packaging process might be of general interest
(primarily to save bandwidth and speedup installs).

-- 
Olivier
http://twitter.com/ogrisel - http://github.com/ogrisel


More information about the Wheel-builders mailing list