Re: [Distutils] Proposal: using /etc/os-release in the "platform tag" definition for wheel files
On Jun 22, 2016, at 8:51 AM, Nathaniel Smith
wrote: I believe the status is that there's general consensus that something
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.
-n
On Jun 22, 2016 09:49, "Noah Kantrowitz"
On Jun 22, 2016 5:53 AM, "Vitaly Kruglikov"
There have been no updates in over a year. Has this effort died, or
wrote: transitioned to another medium? Thx
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
On Jun 22, 2016, at 12:21, Nathaniel Smith
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 think this is worthwhile to do, but figuring out a way to do it is probably going to take a lot of discussion. -glyph
On Jun 22, 2016, at 5:38 PM, Glyph
wrote: On Jun 22, 2016, at 12:21, Nathaniel Smith
mailto:njs@pobox.com> 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 think this is worthwhile to do, but figuring out a way to do it is probably going to take a lot of discussion.
-glyph
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
— Donald Stufft
On Jun 22, 2016, at 2:42 PM, Donald Stufft
wrote: On Jun 22, 2016, at 5:38 PM, Glyph
wrote: On Jun 22, 2016, at 12:21, Nathaniel Smith
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. --Noah
On Jun 22, 2016, at 2:42 PM, Donald Stufft
wrote: On Jun 22, 2016, at 5:38 PM, Glyph
wrote: On Jun 22, 2016, at 12:21, Nathaniel Smith
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. --Noah
They're definitely separate; there's a draft PEP Tennessee and I
started at PyCon AU 2014 which would make a good basis for such an
effort.
-Rob
On 23 June 2016 at 09:42, Donald Stufft
On Jun 22, 2016, at 5:38 PM, Glyph
wrote: On Jun 22, 2016, at 12:21, Nathaniel Smith
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 think this is worthwhile to do, but figuring out a way to do it is probably going to take a lot of discussion.
-glyph
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
— Donald Stufft
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
On Jun 22, 2016, at 14:42, Donald Stufft
wrote: 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).
OK, fair point. I don't disagree with any of that. As long as everyone has a clear idea that this is part of a phased approach so the wheel tags should be ultimately upwards compatible with something that does dependencies, this all sounds pretty good (and an incremental approach with benefits at each stage is more likely to succeed anyhow). -glyph
participants (5)
-
Donald Stufft
-
Glyph
-
Nathaniel Smith
-
Noah Kantrowitz
-
Robert Collins