Skip to content

conda install wheels with repodata #105

@danyeaw

Description

@danyeaw

Checklist

  • I added a descriptive title
  • I searched open issues and couldn't find a duplicate

What?

  1. Add core wheel package support to conda-index
  2. Add install hook to conda-pypi that can install from wheel repodata

This focuses on the essential functionality needed: auto-detection of wheel packages, metadata extraction, repodata generation, and compatibility with conda-pypi for basic install commands. Future work will include full lockfile support.

Why?

  • Reduces package not found for users of conda through access to more packages through wheels as long as you have access to a server hosting wheels
  • A potential future state could include Repodata for portions of PyPI
  • Compared to the conda pypi install command, users don't need to know which packages are only on PyPI

User impact

Users should be able to run python -m conda_index <path> on directories containing wheel packages, have the tool automatically detect and index them, generate repodata.json with wheel packages, and then use conda install to install those wheels through conda-pypi. The system should handle basic wheel metadata extraction and conversion to conda-compatible format.

For most users, their interface will be conda install <package> and it will include wheels based on that channels priority with other channels.

Goals

  • Users can index wheel packages with conda-index
  • Generated repodata.json is compatible with conda-pypi
  • Basic wheel installation works through conda install using an install hook
  • Auto-detection correctly identifies wheel vs conda packages
  • Existing conda package indexing continues to work
  • Comprehensive test coverage for core functionality

Tasks

No response

This epic is blocked by:

This epic blocks:

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    EpicA group of sub-issues under a workstreamenhancementNew feature or request

    Type

    No type

    Projects

    Status

    In Progress 🏗️

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions