Skip to content

Replace conda's extraction logic to handle wheel files #116

@danyeaw

Description

@danyeaw

What is the idea?

Replace conda's tarball extraction function with a hybrid implementation that can handle both .tar.bz2 and .whl files during the installation process, leveraging conda-pypi's existing wheel extraction capabilities.

Why is this needed?

Conda's current extraction logic only knows how to handle tarball formats. We need to extend it to extract wheel files while maintaining compatibility with existing tarball extraction. conda-pypi already has the wheel extraction logic.

What should happen?

The patch should create a hybrid extraction function that detects the file type and uses the appropriate extraction method - conda's existing tarball extraction, and conda-pypi's existing wheel extraction functionality for .whl files. This should integrate with conda's installation process while reusing the wheel handling code from conda-pypi.

Additional Context

conda-pypi already has extract_wheel_metadata() and wheel processing functions in builder.py and utils.py. The hybrid extraction function should call into conda-pypi's wheel processing pipeline when it encounters .whl files. There is also a demo of a similar method for doing this at https://github.com/Anaconda/conda-whl-support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions