On Jun 22, 2016, at 2:42 PM, Donald Stufft firstname.lastname@example.org wrote:
On Jun 22, 2016, at 5:38 PM, Glyph email@example.com wrote:
On Jun 22, 2016, at 12:21, Nathaniel Smith firstname.lastname@example.org wrote: There are still use cases for distro-specific wheels, though -- some examples include Raspbian wheels (manylinux1 is x86/x86-64 only), Alpine Linux wheels (manylinux1 is glibc only), internal deploys that want to build on Ubuntu 14.04 and deploy on 14.04 and don't need the hassle of generating manylinux-style binaries but would like a more meaningful platform tag than "linux", and for everyone who wants to extend wheel metadata to allow dependencies on external distro packages then having distro-specific wheels is probably a necessary first step.
If we want to treat distros as first-class deployment targets I think being able to use their platform features in a way that's compatible with PyPI is an important next step. However, wheel tags might be insufficient here; the main appeal of creating distro-specific wheels is being able to use distro-specific features, but those typically come along with specific package dependencies as well, and we don't have a way to express those yet.
I don’t think these two things need to be bound together. People can already today depend on platform specific things just by not publishing wheels. Adding these tags naturally follows that, where people would need to manually install items from the OS before they used them. Adding some mechanism for automating this would be a good, further addition, but I think they are separately useful (and even more useful and powerful when combined).
I could see an argument for maybe building support into Pip but disallowing them on PyPI until we feel comfortable with the UX. That doesn't add much over existing private index support though.