no-manylinux

Install this package to disable manylinux wheels when dowloading from pip.


Keywords
manylinux1, pip, wheel
License
MIT
Install
pip install no-manylinux==3.0.0

Documentation

Build Status pre-commit.ci status

no-manylinux

Install this package to disable manylinux wheels when downloading from pip.

Usage

# First install no-manylinux
pip install no-manylinux
# Now subsequent invocations of pip will ignore manylinux wheels
pip install ...
# To restore the original behaviour, simply `pip uninstall no-manylinux`

Note

This package was previously called no-manylinux1 but now addresses the following manylinux standards:

  • manylinux1
  • manylinux2010
  • manylinux2014

What? Why?

The manylinux spec requires compliant packages to vendor binary dependencies inside the wheel that is distributed. Take for example a library which would (prior to manylinux) dynamically link against libssl. As libssl received security patches, the system binaries would received updates from the OS's package manager. The python library which dynamically links would receive these updates for free without need to recompile, reinstall, etc. Under manylinux, libssl is vendored inside the wheel. To receive security updates, you have to wait for the upstream to produce a new wheel and need to know to install a new version of that library. There's almost no visibility about these vendored wheels which makes managing them at scale impossible. As such, some may choose to ignore this standard.

Links