Hi, At Enthought we have been trying to use PEP 425 tags to include its metadata in our packages. It has been harder than expected because of missing information in PEP 425, and maybe inconsistencies with what pip actually does. I think PEP 425 should be updated to take into account pip actual implementation: 1. python tag and pypy: the PEP says "the version is py_version_nodot . CPython gets away with no dot, but if one is needed the underscore _ is used instead. PyPy should probably use its own versions here pp18 , pp19 ". This is not what pip does as of version 8.1.0 for pypy. Instead, the version is python major + sys.pypy_version_info.major + sys.pypy_version_info.minor. 2. It would be nice to know how to deal with other alternative implementations as well. Would the scheme in 1. work for jython, etc... ? 3. The abi tag should at least be specified for cpython IMO. E.g. the meaning of `m`, `u` and `d` should be clearly specified. While the PEP mentions each implementation community is welcome to use the abi tag as they wish, given that in practice it is defined in pip, I think that should be specified as well. Do the above make sense ? If so, I could spend some time to update it (or create a new amending PEP ?) thanks, David
On 11 March 2016 at 19:41, David Cournapeau
Hi,
At Enthought we have been trying to use PEP 425 tags to include its metadata in our packages. It has been harder than expected because of missing information in PEP 425, and maybe inconsistencies with what pip actually does.
I think PEP 425 should be updated to take into account pip actual implementation:
1. python tag and pypy: the PEP says "the version is py_version_nodot . CPython gets away with no dot, but if one is needed the underscore _ is used instead. PyPy should probably use its own versions here pp18 , pp19 ". This is not what pip does as of version 8.1.0 for pypy. Instead, the version is python major + sys.pypy_version_info.major + sys.pypy_version_info.minor.
2. It would be nice to know how to deal with other alternative implementations as well. Would the scheme in 1. work for jython, etc... ?
3. The abi tag should at least be specified for cpython IMO. E.g. the meaning of `m`, `u` and `d` should be clearly specified.
While the PEP mentions each implementation community is welcome to use the abi tag as they wish, given that in practice it is defined in pip, I think that should be specified as well.
Do the above make sense ? If so, I could spend some time to update it (or create a new amending PEP ?)
Proposed errrata & minor admentments for PEP 425 can be submitted as a PyPUG issue with a PR against https://packaging.python.org/en/latest/specifications/#platform-compatibilit... (the actual technical details of the proposed changes should still be discussed here) This does remind me I have unfinished work in officially amending that spec management process, though: https://github.com/pypa/pypa.io/issues/11#issuecomment-195412332 Regards, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia
On Fri, Mar 11, 2016 at 3:26 PM, Nick Coghlan
Hi,
At Enthought we have been trying to use PEP 425 tags to include its
in our packages. It has been harder than expected because of missing information in PEP 425, and maybe inconsistencies with what pip actually does.
I think PEP 425 should be updated to take into account pip actual implementation:
1. python tag and pypy: the PEP says "the version is py_version_nodot . CPython gets away with no dot, but if one is needed the underscore _ is used instead. PyPy should probably use its own versions here pp18 , pp19 ". This is not what pip does as of version 8.1.0 for pypy. Instead, the version is python major + sys.pypy_version_info.major + sys.pypy_version_info.minor.
2. It would be nice to know how to deal with other alternative implementations as well. Would the scheme in 1. work for jython, etc... ?
3. The abi tag should at least be specified for cpython IMO. E.g. the meaning of `m`, `u` and `d` should be clearly specified.
While the PEP mentions each implementation community is welcome to use
abi tag as they wish, given that in practice it is defined in pip, I
On 11 March 2016 at 19:41, David Cournapeau
wrote: metadata the think that should be specified as well.
Do the above make sense ? If so, I could spend some time to update it (or create a new amending PEP ?)
Proposed errrata & minor admentments for PEP 425 can be submitted as a PyPUG issue with a PR against
https://packaging.python.org/en/latest/specifications/#platform-compatibilit...
(the actual technical details of the proposed changes should still be discussed here)
Up: would it help doing the PR first as a basic for discussion ?
On 21 March 2016 at 23:16, David Cournapeau
On Fri, Mar 11, 2016 at 3:26 PM, Nick Coghlan
wrote: Proposed errrata & minor admentments for PEP 425 can be submitted as a PyPUG issue with a PR against
https://packaging.python.org/en/latest/specifications/#platform-compatibilit...
(the actual technical details of the proposed changes should still be discussed here)
Up: would it help doing the PR first as a basic for discussion ?
Yep, having something lighter than a PEP to track the specifics of proposed changes was one of the key intended benefits of changing the process. Cheers, Nick. P.S. Note I'll be on vacation and deliberately laptop free for a week starting Friday though. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia
participants (2)
-
David Cournapeau
-
Nick Coghlan