@@ -406,22 +406,22 @@ def entrypoints_txt(self) -> bytes:
406
406
407
407
@cached_property
408
408
def _stable_abi (self ) -> Optional [str ]:
409
- if self . _limited_api :
410
- # PyPy does not use a special extension module filename
411
- # suffix for modules targeting the stable API .
412
- if '__pypy__' not in sys .builtin_module_names :
413
- # Verify stable ABI compatibility: examine files installed
414
- # in {platlib} that look like extension modules, and raise
415
- # an exception if any of them has a Python version
416
- # specific extension filename suffix ABI tag.
417
- for path , _ in self ._manifest ['platlib' ]:
418
- match = _EXTENSION_SUFFIX_REGEX .match (path .name )
419
- if match :
420
- abi = match .group ('abi' )
421
- if abi is not None and abi != 'abi3' :
422
- raise BuildError (
423
- f'The package declares compatibility with Python limited API but extension '
424
- f'module { os .fspath (path )!r} is tagged for a specific Python version.' )
409
+ # PyPy does not use a special extension module filename
410
+ # suffix for modules targeting the stable API, and pip does not
411
+ # support installing wheels with the abi3 tag .
412
+ if self . _limited_api and '__pypy__' not in sys .builtin_module_names :
413
+ # Verify stable ABI compatibility: examine files installed
414
+ # in {platlib} that look like extension modules, and raise
415
+ # an exception if any of them has a Python version
416
+ # specific extension filename suffix ABI tag.
417
+ for path , _ in self ._manifest ['platlib' ]:
418
+ match = _EXTENSION_SUFFIX_REGEX .match (path .name )
419
+ if match :
420
+ abi = match .group ('abi' )
421
+ if abi is not None and abi != 'abi3' :
422
+ raise BuildError (
423
+ f'The package declares compatibility with Python limited API but extension '
424
+ f'module { os .fspath (path )!r} is tagged for a specific Python version.' )
425
425
return 'abi3'
426
426
return None
427
427
0 commit comments