astral-sh / uv

An extremely fast Python package and project manager, written in Rust.
https://docs.astral.sh/uv
Apache License 2.0
19.13k stars 561 forks source link

Support for non-URL dependencies having URL dependencies? #5070

Open mchromin opened 1 month ago

mchromin commented 1 month ago

Hi!

I know documentation states that uv also makes the assumption that non-URL dependencies won't introduce URL dependencies, but as we are taking care of around a hundred modules (some of which depends on external URL dependencies) it seems to be a blocker for us as we're not able to install package from registry, which introduces URL dependencies. I was not able to find more information about this UV assumption - is such support planned to be implemented? As we have a lot of dependencies between our modules it's impossible for us to add transitive URL dependencies as direct dependencies whenever it's needed. Is there any way we can use UV in such situation? Thank you!

mchromin commented 1 month ago

@charliermarsh Hey, friendly ping ;)

charliermarsh commented 1 month ago

Hi @mchromin. We're not actively working on lifting this assumption right now and I don't think it will be prioritized in the near future -- it breaks some assumptions in our resolver and isn't super common. Sorry about that. We can keep the issue open though -- perhaps we'll see more demand and can reconsider.

slochower commented 1 month ago

This also affects almost all of our internal packages and blocks us from using uv. Lots of internal packages depend on a core package and the core package depends on a URL dependency.

charliermarsh commented 1 month ago

That one seems a bit easier: couldn't you just add that URL dependency as a direct dependency? But point taken!

slochower commented 1 month ago

We could... but lots of packages would have to be updated and managed rather than the core dependency :)