Skip to main content

A tool to convert python wheels to eggs

Project description

Latest Version build status

For when you need an .egg but all you have is a .whl.

Description

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.)

Development takes place on github. The package is installable from PyPI

Synopsis

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

References

Authors

Jeff Dairiki

History

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.

Changed Behavior

  • 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.

Bugs Fixed

  • 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)

Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

humpty-0.2.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

humpty-0.2-py2.py3-none-any.whl (12.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file humpty-0.2.tar.gz.

File metadata

  • Download URL: humpty-0.2.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for humpty-0.2.tar.gz
Algorithm Hash digest
SHA256 953d4147f551a06d27a5a537eb0125fbc259c8f01feff5a43a54a507fec42a91
MD5 9bccaf0bacd269390bfd409b4a231414
BLAKE2b-256 8ef8514e219433a484620fb23f9e2c64211c3a7dd7fdb096de19aaedf1a21179

See more details on using hashes here.

File details

Details for the file humpty-0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for humpty-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 86390c0fcb0251b682f3143f4bd2c1a4546cedfc5710b42f10cafb83b7b91d23
MD5 3d5f15ab724239fba9bb5a7e888a53e9
BLAKE2b-256 5d027c51eb07a0637e5791122664f0bddbddf6dd2f584e7979e6bae2470516e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page