Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-2678

Use Python Limited API and create universal wheel when building Qpid Proton Python client

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-c-0.39.0
    • proton-c-0.39.0
    • None
    • None

    Description

      Currently, the build produces Python-version-specific wheels

      creating 'dist/python_qpid_proton-0.39.0.dev0-cp311-cp311-linux_x86_64
      

      Python is able to create universal wheels that can be installed on any (reasonably new) Python version. See

      #. https://peps.python.org/pep-0425/#overview

      The CPython stable ABI is abi3 as in the shared library suffix.

      #. https://docs.python.org/3/c-api/stable.html#stable-application-binary-interface
      #. https://docs.python.org/3/c-api/stable.html#c.Py_LIMITED_API

      Define Py_LIMITED_API to the value of PY_VERSION_HEX corresponding to the lowest Python version your extension supports. The extension will work without recompilation with all Python 3 releases from the specified one onward, and can use Limited API introduced up to that version.

      Attachments

        Activity

          People

            astitcher Andrew Stitcher
            jdanek Jiri Daněk
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: