conda / rattler

Rust crates to work with the Conda ecosystem.
BSD 3-Clause "New" or "Revised" License
264 stars 56 forks source link

[Discussion] Native PyPi/Pip package support #833

Open iamthebot opened 2 months ago

iamthebot commented 2 months ago

Checklist

What is the idea?

Given the difficulty (and long term questions) about attempting to use uv's crates to provide pip interop... should some basic functionality around this be added to rattler?

Why is this needed?

Heterogenous environments with both pip and conda packages are unavoidable. Both users of rattler directly as well as pixi users would benefit from more "native" support for dealing with pip packages. The reason I believe this should go in rattler is that ultimately conda has basic pip_interop support and we can probably do even better inside rattler.

What should happen?

Specifically, functionality that would be relevant here would be:

Core Functionality

Additional Context

No response

baszalmstra commented 2 months ago

I think this is a good idea! Note that https://github.com/prefix-dev/rip already provides most of this functionality, perhaps we can port/extract some of that functionality here.

The mapping also seems like something we could provide as a rattler crate. Note that pixi has also been split into crates which we intent to start publishing. pypi_mapping currently provides the mapping functionality and doesn't depend on any uv crate so we could publish that to crates.io.