micropip icon indicating copy to clipboard operation
micropip copied to clipboard

Add safety net for abi3 wheel compatibility check in edge cases

Open grden opened this issue 5 months ago • 0 comments

Problem

check_compatible() function might lack proper abi3 compatibility logic as a fallback when is_package_compatible() returns false.

Although is_package_compatible() should handle most cases correctly in a properly configured Pyodide environment, there are rare situations where it might fail:

  1. System configuration issues in Pyodide environments
  2. Custom Pyodide builds with different tag generation
  3. Environment setup problems affecting sys_tags()

Current Behavior

When is_package_compatible() returns false (for any reason), check_compatible() performs manual compatibility checks but lacks abi3 interpreter version logic, which can lead to valid abi3 wheels being incorrectly rejected.

Proposed Solution

Add a fallback in check_compatible() to handle abi3 interpreter compatibility checks when the primary method fails due to environmental issues.

grden avatar Aug 14 '25 06:08 grden