roboflow/supervision · error · ValueError

expected one METADATA file in {wheel}, found {metadata_paths

Error message

expected one METADATA file in {wheel}, found {metadata_paths}

What it means

Error "expected one METADATA file in {wheel}, found {metadata_paths}" thrown in roboflow/supervision.

Source

Thrown at .github/scripts/verify_clean_wheel.py:30

_MANIFEST_CHECKS = {
    "import-supervision",
    "no-cv2-module",
    "fallback-backend",
    "bgr-to-gray",
    "draw-rectangle",
    "required-pyav",
}


def _wheel_metadata(wheel: Path) -> Message:
    """Read the core metadata embedded in a wheel archive."""
    with zipfile.ZipFile(wheel) as archive:
        metadata_paths = [
            name for name in archive.namelist() if name.endswith("/METADATA")
        ]
        if len(metadata_paths) != 1:
            raise ValueError(
                f"expected one METADATA file in {wheel}, found {metadata_paths}"
            )
        return message_from_bytes(archive.read(metadata_paths[0]))


def _validate_metadata(wheel: Path) -> None:
    """Reject wheels that retain an OpenCV runtime requirement or extra."""
    metadata = _wheel_metadata(wheel)
    requirements = metadata.get_all("Requires-Dist", [])
    extras = metadata.get_all("Provides-Extra", [])
    if any("opencv" in requirement.lower() for requirement in requirements):
        raise ValueError(
            f"OpenCV runtime requirement remains in {wheel}: {requirements}"
        )
    if any("opencv" in extra.lower() for extra in extras):
        raise ValueError(f"OpenCV extra remains in {wheel}: {extras}")

View on GitHub (pinned to 7f254d9784)

Solutions

  1. Rebuild the wheel so it contains exactly one METADATA file; the current artifact is malformed.
  2. Inspect the wheel packaging step for duplicate or missing dist-info metadata.

When it happens

Trigger: Thrown at .github/scripts/verify_clean_wheel.py:30 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of roboflow/supervision@7f254d9784 (2026-08-15). Data as JSON: /api/errors/60ef46e1d29e429f. Report an issue: GitHub.