Description
wheel ===== This is a command line tool for manipulating Python wheel files, as defined in `PEP 427`_. It contains the following functionality: * Convert ``.egg`` archives into ``.whl`` * Unpack wheel archives * Repack wheel archives * Add or remove tags in existing wheel archives .. _PEP 427: https://www.python.org/dev/peps/pep-0427/ Historical note --------------- This project used to contain the implementation of the setuptools_ ``bdist_wheel`` command, but as of setuptools v70.1, it no longer needs ``wheel`` installed for that to work. Thus, you should install this **only** if you intend to use the ``wheel`` command line tool! .. _setuptools: https://pypi.org/project/setuptools/ Documentation ------------- The documentation_ can be found on Read The Docs. .. _documentation: https://wheel.readthedocs.io/ Code of Conduct --------------- Everyone interacting in the wheel project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_. .. _PSF Code of Conduct: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 0.46.3 | Imported from PyPI (0.46.3) | Low | 4/21/2026 |
| 0.46.2 | - Restored the `bdist_wheel` command for compatibility with `setuptools` older than v70.1 - Importing `wheel.bdist_wheel` now emits a `FutureWarning` instead of a `DeprecationWarning` - Fixed `wheel unpack` potentially altering the permissions of files outside of the destination tree with maliciously crafted wheels (CVE-2026-24049) | Low | 1/21/2026 |
| 0.46.1 | - Temporarily restored the `wheel.macosx_libfile` module ([\#659](https://github.com/pypa/wheel/issues/659)) | Low | 4/8/2025 |
| 0.46.0 | - Dropped support for Python 3.8 - Removed the `bdist_wheel` setuptools command implementation and entry point. The `wheel.bdist_wheel` module is now just an alias to `setuptools.command.bdist_wheel`, emitting a deprecation warning on import. - Removed vendored `packaging` in favor of a run-time dependency on it - Made the `wheel.metadata` module private (with a deprecation warning if it's imported - Made the `wheel.cli` package private (no deprecation warning) - Fixed an exception w | Low | 4/3/2025 |
| 0.45.1 | - Fixed pure Python wheels converted from eggs and wininst files having the ABI tag in the file name | Low | 11/23/2024 |
| 0.45.0 | - Refactored the `convert` command to not need setuptools to be installed - Don't configure setuptools logging unless running `bdist_wheel` - Added a redirection from `wheel.bdist_wheel.bdist_wheel` to `setuptools.command.bdist_wheel.bdist_wheel` to improve compatibility with `setuptools`' latest fixes. Projects are still advised to migrate away from the deprecated module and import the `setuptools`' implementation explicitly. (PR by @abravalheri) | Low | 11/8/2024 |
| 0.44.0 | - Canonicalized requirements in METADATA file (PR by Wim Jeantine-Glenn) - Deprecated the `bdist_wheel` module, as the code was migrated to `setuptools` itself | Low | 8/4/2024 |
| 0.43.0 | - Dropped support for Python 3.7 - Updated vendored `packaging` to 24.0 | Low | 3/11/2024 |
| 0.42.0 | - Allowed removing build tag with `wheel tags --build ""` - Fixed `wheel pack` and `wheel tags` writing updated `WHEEL` fields after a blank line, causing other tools to ignore them - Fixed `wheel pack` and `wheel tags` writing `WHEEL` with CRLF line endings or a mix of CRLF and LF - Fixed `wheel pack --build-number ""` not removing build tag from `WHEEL` (above changes by Benjamin Gilbert) | Low | 11/26/2023 |
| 0.41.3 | - Updated vendored `packaging` to 23.2 - Fixed ABI tag generation for CPython 3.13a1 on Windows (PR by Sam Gross) | Low | 10/30/2023 |
