Skip to content

Fix SpecsAreNotPlugins error for wheel-based conda plugins#106

Open
jezdez wants to merge 1 commit intomainfrom
fix/wheel-plugin-detection
Open

Fix SpecsAreNotPlugins error for wheel-based conda plugins#106
jezdez wants to merge 1 commit intomainfrom
fix/wheel-plugin-detection

Conversation

@jezdez
Copy link
Member

@jezdez jezdez commented Mar 4, 2026

Summary

  • PackageInfo.from_record() relied solely on conda's deprecated info/files manifest to discover .dist-info directories. This fails for:
    • Wheel packages extracted by conda-pypi (no info/files or info/paths.json)
    • rattler-build packages (e.g. numpy, rattler-build) which only ship info/paths.json, not info/files
  • Now reads info/paths.json first (the canonical source per the conda package contents CEP), falls back to info/files for older packages, and scans the filesystem as a last resort for bare wheels.
  • Adds unit tests covering all three discovery paths plus precedence.

Fixes #105
Related: conda/conda-pypi#268

Test plan

  • New unit tests pass (tests/test_package_info.py — 8 tests)
  • Manual verification with conda self install conda-pypi using a wheel-based channel

@jezdez jezdez changed the title Fix SpecsAreNotPlugins error for wheel-based conda plugins Fix SpecsAreNotPlugins error for wheel-based conda plugins Mar 4, 2026
@jezdez jezdez force-pushed the fix/wheel-plugin-detection branch 2 times, most recently from 9b0864e to 5f7620f Compare March 4, 2026 10:31
@jezdez jezdez requested review from danyeaw and marcoesters March 4, 2026 10:35
@jezdez jezdez force-pushed the fix/wheel-plugin-detection branch from 5f7620f to abb5a8a Compare March 4, 2026 12:47
PackageInfo.from_record() relied on conda's deprecated info/files
manifest to discover .dist-info directories. Packages built by
rattler-build (e.g. numpy) don't ship info/files at all, and
wheel packages extracted by conda-pypi have neither info/files
nor info/paths.json.

Read info/paths.json first (the canonical source per the conda
package contents CEP), fall back to info/files for older packages,
and scan the filesystem as a last resort for bare wheels.

Fixes #105
@jezdez jezdez force-pushed the fix/wheel-plugin-detection branch from abb5a8a to 3bb863b Compare March 4, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SpecsAreNotPlugins error when installing wheel-based conda plugins

1 participant