Skip to content
This repository has been archived by the owner on Feb 4, 2024. It is now read-only.

Latest commit

 

History

History
52 lines (38 loc) · 1.86 KB

README.md

File metadata and controls

52 lines (38 loc) · 1.86 KB

ARCHIVED

it is feature complete and I don't plan on updating it further


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