README.rst 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Wheel
  2. =====
  3. A built-package format for Python.
  4. A wheel is a ZIP-format archive with a specially formatted filename
  5. and the .whl extension. It is designed to contain all the files for a
  6. PEP 376 compatible install in a way that is very close to the on-disk
  7. format. Many packages will be properly installed with only the "Unpack"
  8. step (simply extracting the file onto sys.path), and the unpacked archive
  9. preserves enough information to "Spread" (copy data and scripts to their
  10. final locations) at any later time.
  11. The wheel project provides a `bdist_wheel` command for setuptools
  12. (requires setuptools >= 0.8.0). Wheel files can be installed with a
  13. newer `pip` from https://github.com/pypa/pip or with wheel's own command
  14. line utility.
  15. The wheel documentation is at https://wheel.readthedocs.io/. The file format is
  16. documented in PEP 427 (https://www.python.org/dev/peps/pep-0427/).
  17. The reference implementation is at https://github.com/pypa/wheel
  18. Why not egg?
  19. ------------
  20. Python's egg format predates the packaging related standards we have
  21. today, the most important being PEP 376 "Database of Installed Python
  22. Distributions" which specifies the .dist-info directory (instead of
  23. .egg-info) and PEP 426 "Metadata for Python Software Packages 2.0"
  24. which specifies how to express dependencies (instead of requires.txt
  25. in .egg-info).
  26. Wheel implements these things. It also provides a richer file naming
  27. convention that communicates the Python implementation and ABI as well
  28. as simply the language version used in a particular package.
  29. Unlike .egg, wheel will be a fully-documented standard at the binary
  30. level that is truly easy to install even if you do not want to use the
  31. reference implementation.
  32. Code of Conduct
  33. ---------------
  34. Everyone interacting in the wheel project's codebases, issue trackers, chat
  35. rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_.
  36. .. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/