A tool to convert python wheels to eggs
For when you need an .egg but all you have is a .whl.
Humpty is a command-line utility to convert Python binary wheel packages to eggs.
Currently, the tool is in a “works for me” state. (It is not guaranteed to work for you.)
The humpty “man page”:
$ humpty --help Usage: humpty [OPTIONS] WHEELS... Convert wheels to eggs. Options: -d, --dist-dir DIR Build eggs into <dir>. Default is <cwd>/dist. --help Show this message and exit.
Suppose you need an egg of a distribution which has only been uploaded to PyPI as a wheel:
$ pip install --download . publicsuffixlist [...] Saved ./publicsuffixlist-0.2.8-py2.py3-none-any.whl Successfully downloaded publicsuffixlist $ humpty -dist-dir . publicsuffixlist-0.2.8-py2.py3-none-any.whl Converting publicsuffixlist-0.2.8-py2.py3-none-any.whl to publicsuffixlist-0.2.8-py2.6.egg $ easy_install publicsuffixlist-0.2.8-py2.7.egg
- PEP 427 - The Wheel Binary Package Format 1.0
- PEP 491 - The Wheel Binary Package Format 1.9
- PEP 241 - Metadata for Python Software Packages
- PEP 314 - Metadata for Python Software Packages v1.1
- PEP 345 - Metadata for Python Software Packages 1.2
- PEP 426 - Metadata for Python Software Packages 2.0
- PEP 459 - Standard Metadata Extensions for Python Software Packages
- Setuptools: The Internal Structure of Python Eggs
Release 0.2 (2017-11-08)
Python 2.6 is no longer supported. We now test under cpython 2.7 and cpython 3.3 through 3.6.
- The strict check for wheel binary compatibility with the current platform has been removed. Now a warning is printed in this case. When running under py35 or py36, distlib sometimes falsely reports that some wheels are not binary compatible. See distlib ticket #93.
- Fix EggInfo_Legacy.requires to work with recent versions of distlib. With distlib<=0.2.4, distlib.wheel.Wheel.metadata.run_requires is a list of strings, taken from lines of the RFC822 style metadata. With recent versions of distlib, run_requires is a list of dicts in the “JSON” format described in PEP 426. This addresses #1.
- Always create eggs with zip_safe=False. There currently seems to be no robust way to determine whether a package is zip_safe from its wheel. See #3 for further discussion. (Thank you to immerrr.)
- Fix parsing of markers in EggInfo_Legacy.requires. Apparently, as of distlib==0.2.6, distlib.markers.interpret no longer handles leading whitespace in the marker string well.
- Fix failing test test_humpty:TestScriptCopyer.test_copies_script. Apparently, distlib.markers.interpret==0.2.6 now just prepends the new hashbang line to the copied script, but does not remove the original hashbang.
Release 0.1 (2015-07-16)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|humpty-0.2-py2.py3-none-any.whl (12.9 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||Nov 9, 2017|
|humpty-0.2.tar.gz (14.4 kB) Copy SHA256 Checksum SHA256||–||Source||Nov 9, 2017|