Re: Adding support for adequately tagging AIX (pep425) to support distributed wheels

Among other places, Python ideas was recommended as a place to goto. In the meantime I have been discussing this on pypa/pip (mainly), and also on wheel and packaging. Even submitted PRs. But the PRs are only needed if the tag is inadequate. So, part of my reason for being here is to figure out if I can call the current tag algorithm a bug, or is correcting it a feature? I am trying to approach this the Python way rather than be seen as a bull in a china shop. Thanks for replying! Sent from my iPhone

It sounds like you may be asking about two different things: * adding more distinct platform tags for wheels to use for AIX, indicating... a minimum OS level, if I'm connecting the dots correctly. This would be like what PEP 513 did with `manylinux1` for Linux, and PEP 571 is doing for the new-and-just-confusingly-named `manylinux2010`. I think you're suggesting that IBM's own "OS level" concept would make this a much less daunting task than the manylinux tags have been. * adding more information to `sysconfig.get_platform()` for AIX, specifically the bittedness of the architecture. For the second point, here's what I see on my Linux laptop:
sysconfig.get_platform() 'linux-x86_64'
That specifies the bittedness, so it seems natural to do the same on AIX. I expect the main question people will ask is about compatibility, with existing scripts out there that look at `sysconfig.get_platform()` and expect the current form of output for AIX. For the first one, it sounds likely useful and definitely more work than the status quo, and I'd guess that simply no-one has stepped up to do that work. Perhaps you would like to do so. :-) In that case I think the first step will be to say more concretely what you imagine these tags looking like and meaning. And the best forum for that is very likely to be a packaging-specific forum rather than this list; there's distutils-sig, and you might also try https://discuss.python.org/c/packaging . Greg On Sun, Sep 1, 2019 at 1:53 PM Michael Felt <michael@felt.demon.nl> wrote:

On 04/09/2019 06:05, Greg Price wrote: My apologies for being so slow with a reply. I appreciate your comments!! Work - and a filter that put this in the wrong folder. this could break is when it is an OSS library (i.e. not IBM packaged and part of BOS (base OS) as libraries break separate of the OS.
I'll look at the other forums you mention. I do have a PR waiting for comments: https://github.com/python/cpython/pull/15678 Hope that helps move the discussion forward again. FYI - in preliminary testing - wheels can be built and uploaded (to a devpi server) and installed in virtual-env - without any additional patching of either pip or wheel (or devpi). To have it work on values other than equality some changes will be needed - I expect only in pip - to know what to look for. And I have a concept for that (oslevel -s -q gives a list of all known build-levels). So it is not searching in a haystack. It will have to be one of something documented/known by/to the OS. Again - thanks for your feedback and thoughts!

On Mon, 2 Sep 2019 at 2:24 AM, Michael Felt <michael@felt.demon.nl> wrote:
That's fair. As others and myself have pointed out elsewhere, for Python Packaging matters that don't need CPython changes, the discussions happen on distutils-sig or, lately, https://discuss.python.org/c/packaging. When we want to make changes that affect CPython directly, let's build consensus on the issue tracker discussion (or the corresponding discourse thread) that it is the approach we wanna take, and then start a new thread here with a more specific targeted request. :) Best, Pradyun

On 09/10/2019 06:49, Pradyun Gedam wrote:
So, that is what I hope can happen around this PR for CPython: https://github.com/python/cpython/pull/15678 With this PR AIX packaging by pip and wheel work fine with devpi (as a test repository), unpacking wheels into virtual environments. So, what would be needed is a modification in the code that can search for wheel candidates - greater/equal to the "build_tag" of the CPython executable. How that works is a discussion for here, if I understand your comment (below) correctly.

It sounds like you may be asking about two different things: * adding more distinct platform tags for wheels to use for AIX, indicating... a minimum OS level, if I'm connecting the dots correctly. This would be like what PEP 513 did with `manylinux1` for Linux, and PEP 571 is doing for the new-and-just-confusingly-named `manylinux2010`. I think you're suggesting that IBM's own "OS level" concept would make this a much less daunting task than the manylinux tags have been. * adding more information to `sysconfig.get_platform()` for AIX, specifically the bittedness of the architecture. For the second point, here's what I see on my Linux laptop:
sysconfig.get_platform() 'linux-x86_64'
That specifies the bittedness, so it seems natural to do the same on AIX. I expect the main question people will ask is about compatibility, with existing scripts out there that look at `sysconfig.get_platform()` and expect the current form of output for AIX. For the first one, it sounds likely useful and definitely more work than the status quo, and I'd guess that simply no-one has stepped up to do that work. Perhaps you would like to do so. :-) In that case I think the first step will be to say more concretely what you imagine these tags looking like and meaning. And the best forum for that is very likely to be a packaging-specific forum rather than this list; there's distutils-sig, and you might also try https://discuss.python.org/c/packaging . Greg On Sun, Sep 1, 2019 at 1:53 PM Michael Felt <michael@felt.demon.nl> wrote:

On 04/09/2019 06:05, Greg Price wrote: My apologies for being so slow with a reply. I appreciate your comments!! Work - and a filter that put this in the wrong folder. this could break is when it is an OSS library (i.e. not IBM packaged and part of BOS (base OS) as libraries break separate of the OS.
I'll look at the other forums you mention. I do have a PR waiting for comments: https://github.com/python/cpython/pull/15678 Hope that helps move the discussion forward again. FYI - in preliminary testing - wheels can be built and uploaded (to a devpi server) and installed in virtual-env - without any additional patching of either pip or wheel (or devpi). To have it work on values other than equality some changes will be needed - I expect only in pip - to know what to look for. And I have a concept for that (oslevel -s -q gives a list of all known build-levels). So it is not searching in a haystack. It will have to be one of something documented/known by/to the OS. Again - thanks for your feedback and thoughts!

On Mon, 2 Sep 2019 at 2:24 AM, Michael Felt <michael@felt.demon.nl> wrote:
That's fair. As others and myself have pointed out elsewhere, for Python Packaging matters that don't need CPython changes, the discussions happen on distutils-sig or, lately, https://discuss.python.org/c/packaging. When we want to make changes that affect CPython directly, let's build consensus on the issue tracker discussion (or the corresponding discourse thread) that it is the approach we wanna take, and then start a new thread here with a more specific targeted request. :) Best, Pradyun

On 09/10/2019 06:49, Pradyun Gedam wrote:
So, that is what I hope can happen around this PR for CPython: https://github.com/python/cpython/pull/15678 With this PR AIX packaging by pip and wheel work fine with devpi (as a test repository), unpacking wheels into virtual environments. So, what would be needed is a modification in the code that can search for wheel candidates - greater/equal to the "build_tag" of the CPython executable. How that works is a discussion for here, if I understand your comment (below) correctly.
participants (3)
-
Greg Price
-
Michael Felt
-
Pradyun Gedam