Skip to content

WheelDistribution doesn't implement abstract methods of importlib.metadata.Distribution #11684

@jaraco

Description

@jaraco

Description

In python/cpython#100466, we learned that pip implements a WheelDistribution derived from importlib.metadata.Distribution, but doesn't implement the abstract methods. This usage was allowed because the ABC didn't derive from abc.ABCMeta. I don't recall if that choice was intentional or not, but attempting to enforce the definition of abstract methods in subclasses breaks pip invocations.

Expected behavior

Pip should implement the abstract methods (even if just trivially).

pip version

22.3.1

Python version

3.12a3ish

OS

all

How to Reproduce

Apply the patch from the referenced Python PR to the Python stdlib and invoke pip install.

Output

No response

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    state: needs eyesNeeds a maintainer/triager to take a closer looktype: maintenanceRelated to Development and Maintenance Processes

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions