Skip to content

Add safety net for abi3 wheel compatibility check in edge cases #245

@grden

Description

@grden

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions