This is no longer necessary in recent versions of setuptools
(and we now check that abi3 is used properly in official releases).
The bdist_wheel implementation is being moved from the wheel package
into setuptools so overriding it will stop working in the future.
Follows the example of https://github.com/joerick/python-abi3-package-sample/pull/30
Replaces #3425
import platform
import setuptools
-try:
- import wheel.bdist_wheel
-except ImportError:
- wheel = None
-
kwargs = {}
)
]
-if wheel is not None:
- # From https://github.com/joerick/python-abi3-package-sample/blob/main/setup.py
- class bdist_wheel_abi3(wheel.bdist_wheel.bdist_wheel):
- def get_tag(self):
- python, abi, plat = super().get_tag()
-
- if python.startswith("cp"):
- return "cp39", "abi3", plat
- return python, abi, plat
-
- kwargs["cmdclass"] = {"bdist_wheel": bdist_wheel_abi3}
+ kwargs["options"] = {"bdist_wheel": {"py_limited_api": "cp39"}}
setuptools.setup(