Wheel (.whl) {follows pep427 formatting std} {zip archive that has compiled binary files(.so, .dll, .pyd for C/C++ extension modules), .py, metadata files (child wheel, setup.py etc)} .
- Since it has compiled bin files, it lets precompiled packages to be installed without need for building from source; as result- Users do not need to have build tools (like a compiler) installed on their system to install a package from a wheel. And also wheels ensure that same binary package can be installed across different environments, reducing the variability that can arise from building packages on different systems.
- can be platform-specific (linux or macOS..) or universal
To install: pip install somepackage.whl
for package maintainer, wanting to distribute package as a wheel: pip install wheel
Then Navigate to your package directory and run: python setup.py bdist_wheel This command will generate a .whl file in the dist directory of your package.