Compatibility Tags and the Stable API
I'm not sure how to interpret PEP 425 when it comes to packages containing C extension modules that use the limited Python API (PEP 384). The Python v3.4 version of the limited API is used so should the compatibility tag be... cp34-abi3-* That would mean that the 'cp34' Python tag would have to be interpreted as a minimum (rather than exact) requirement. Grateful for any clarification. Phil
Correct. I have a pull request on wheel that does just that, and the next
version of pip will be ready for it.
On Fri, Sep 9, 2016, 04:14 Phil Thompson
I'm not sure how to interpret PEP 425 when it comes to packages containing C extension modules that use the limited Python API (PEP 384).
The Python v3.4 version of the limited API is used so should the compatibility tag be...
cp34-abi3-*
That would mean that the 'cp34' Python tag would have to be interpreted as a minimum (rather than exact) requirement.
Grateful for any clarification.
Phil _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
Am I understanding this correctly? Even though the limited API is supposed to work on all CPython versions supporting the numbered API, I cannot do the compiling using a newer version (say 3.5) or it won't work with older ones (3.3, 3.4)? 09.09.2016, 14:00, Daniel Holth kirjoitti:
Correct. I have a pull request on wheel that does just that, and the next version of pip will be ready for it.
On Fri, Sep 9, 2016, 04:14 Phil Thompson
mailto:phil@riverbankcomputing.com> wrote: I'm not sure how to interpret PEP 425 when it comes to packages containing C extension modules that use the limited Python API (PEP 384).
The Python v3.4 version of the limited API is used so should the compatibility tag be...
cp34-abi3-*
That would mean that the 'cp34' Python tag would have to be interpreted as a minimum (rather than exact) requirement.
Grateful for any clarification.
Phil _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org mailto: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 Sep 9, 2016, at 7:11 AM, Alex Grönholm
wrote: Am I understanding this correctly? Even though the limited API is supposed to work on all CPython versions supporting the numbered API, I cannot do the compiling using a newer version (say 3.5) or it won't work with older ones (3.3, 3.4)?
The Py_Limited_API can be either set to an on/off value (in which case it is effectively CPython>=3.2) or you can set it to the hex value of a specific version (in which case it is CPython>=thatversion). So you can compile a Py_Limited_API for older CPythons just fine, you’ll just need to appropriately set the Py_Limited_API value. The reason for this is so CPython can *add* new functions to the stable ABI (but not remove or modify in an ABI incompatible way). So if you use a new to the ABI function, you’ll need a newer minimum. — Donald Stufft
On 9 Sep 2016, at 12:00 pm, Daniel Holth
Correct. I have a pull request on wheel that does just that, and the next version of pip will be ready for it.
Is there a release date for that version of pip? There's no point in me making releases that can't be installed. Phil
On Fri, Sep 9, 2016, 04:14 Phil Thompson
wrote: I'm not sure how to interpret PEP 425 when it comes to packages containing C extension modules that use the limited Python API (PEP 384). The Python v3.4 version of the limited API is used so should the compatibility tag be...
cp34-abi3-*
That would mean that the 'cp34' Python tag would have to be interpreted as a minimum (rather than exact) requirement.
Grateful for any clarification.
Phil _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
Apologies for pestering... Is there any more information about this? I have cp34-abi3 wheels ready for release (ie. Python 3.4 or later) but they can't be installed with pip3.5. I could release them as cp35-abi3 but that will become a pain with the release of Python v3.6. Thanks, Phil
On 9 Sep 2016, at 12:28 pm, Phil Thompson
wrote: On 9 Sep 2016, at 12:00 pm, Daniel Holth
wrote: Correct. I have a pull request on wheel that does just that, and the next version of pip will be ready for it.
Is there a release date for that version of pip? There's no point in me making releases that can't be installed.
Phil
On Fri, Sep 9, 2016, 04:14 Phil Thompson
wrote: I'm not sure how to interpret PEP 425 when it comes to packages containing C extension modules that use the limited Python API (PEP 384). The Python v3.4 version of the limited API is used so should the compatibility tag be...
cp34-abi3-*
That would mean that the 'cp34' Python tag would have to be interpreted as a minimum (rather than exact) requirement.
Grateful for any clarification.
Phil
You could manually change the tag to cp34.cp35.cp36-abi3 . The current
version pip running on those 3 versions of Python should recognize that tag.
On Tue, Sep 27, 2016 at 1:16 PM Phil Thompson
Apologies for pestering...
Is there any more information about this?
I have cp34-abi3 wheels ready for release (ie. Python 3.4 or later) but they can't be installed with pip3.5. I could release them as cp35-abi3 but that will become a pain with the release of Python v3.6.
Thanks, Phil
On 9 Sep 2016, at 12:28 pm, Phil Thompson
wrote: On 9 Sep 2016, at 12:00 pm, Daniel Holth
wrote: Correct. I have a pull request on wheel that does just that, and the
next version of pip will be ready for it.
Is there a release date for that version of pip? There's no point in me making releases that can't be installed.
Phil
On Fri, Sep 9, 2016, 04:14 Phil Thompson
wrote: I'm not sure how to interpret PEP 425 when it comes to packages containing C extension modules that use the limited Python API (PEP 384). The Python v3.4 version of the limited API is used so should the compatibility tag be...
cp34-abi3-*
That would mean that the 'cp34' Python tag would have to be interpreted as a minimum (rather than exact) requirement.
Grateful for any clarification.
Phil
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
participants (4)
-
Alex Grönholm
-
Daniel Holth
-
Donald Stufft
-
Phil Thompson