Skip to content

fix: installing mallformed wheels#5387

Merged
nichmor merged 10 commits intoprefix-dev:mainfrom
nichmor:fix/installing-mallformed-wheels
Jan 22, 2026
Merged

fix: installing mallformed wheels#5387
nichmor merged 10 commits intoprefix-dev:mainfrom
nichmor:fix/installing-mallformed-wheels

Conversation

@nichmor
Copy link
Contributor

@nichmor nichmor commented Jan 21, 2026

Description

The origin issue appear to be that the wheels that our users try to install are malformed ( see similar issue here : astral-sh/uv#8082 )

uv allows to bypass this check, by setting a env flag. This PR introduce ability to set uv_flag's ( not all, only the one that we are aware of ) from our side.

also adds pypi-options for it skip-wheel-filename-check

Fixes: #5305

How Has This Been Tested?

Manually and adding a integration test.

AI Disclosure

  • This PR contains AI-generated content.
    • I have tested any AI-generated content in my PR.
    • I take responsibility for any AI-generated content in my PR.

Tools: Claude

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added sufficient tests to cover my changes.
  • I have verified that changes that would impact the JSON schema have been made in schema/model.py.

Copy link
Contributor

@tdejager tdejager left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! This might needs some documentation, also I'm unsure about the UV_ prefix as we do not use that anywhere else our environment variables, so we could just drop the prefix maybe. Also, unsure about this but maybe this should even be a pypi-option, what do you think @ruben-arts ?

@nichmor
Copy link
Contributor Author

nichmor commented Jan 22, 2026

Nice! This might needs some documentation, also I'm unsure about the UV_ prefix as we do not use that anywhere else our environment variables, so we could just drop the prefix maybe. Also, unsure about this but maybe this should even be a pypi-option, what do you think @ruben-arts ?

Thanks!

Yeah, the idea why I'm inclined to use UV_ thingy is because it's shown in the panic from uv itself. So, the user will see the error, but he will need to set our env var, which will be converted to uv.

regarding the pypi-option, I think it's a good idea. I will implement it. So we will have two ways of bypassing it.

@tdejager
Copy link
Contributor

tdejager commented Jan 22, 2026

Nice! This might needs some documentation, also I'm unsure about the UV_ prefix as we do not use that anywhere else our environment variables, so we could just drop the prefix maybe. Also, unsure about this but maybe this should even be a pypi-option, what do you think @ruben-arts ?

Thanks!

Yeah, the idea why I'm inclined to use UV_ thingy is because it's shown in the panic from uv itself. So, the user will see the error, but he will need to set our env var, which will be converted to uv.

regarding the pypi-option, I think it's a good idea. I will implement it. So we will have two ways of bypassing it.

Yeah I get that reasoning, but I'm on the fence in the sense that if as a user I see a UV_ then I would expect all environment variable should be exposed, at least in the sense which make sense.

@ruben-arts
Copy link
Contributor

Good points guys!

Would it be easy to just enable all uv flags? This would give a little bit of a "hands off" appoarch from ourside to our users, they could play around with fixing their special installation requirements. I normally don't like to support environment variables that make the installation undeterministic but since it can also unblock users in these strange cases, so it's probably a good start.

I would vote to also add the pypi-options for the flags we care about.

@tdejager
Copy link
Contributor

Would it be easy to just enable all uv flags? This would give a little bit of a "hands off" appoarch from ourside to our users, they could play around with fixing their special installation requirements. I normally don't like to support environment variables that make the installation undeterministic but since it can also unblock users in these strange cases, so it's probably a good start.

I would vote to also add the pypi-options for the flags we care about.

Yeah I was wondering that too, but its just a bit complicated because of a lot of them aren't applicable to our environment solving use case. But a bunch of them are though, apparently the structure EnvironmentFlags used in this PR only reads two of these right @nichmor?

Would be good to do a sit-down at some point and decide what env variables to expose though.

@nichmor
Copy link
Contributor Author

nichmor commented Jan 22, 2026

Would it be easy to just enable all uv flags? This would give a little bit of a "hands off" appoarch from ourside to our users, they could play around with fixing their special installation requirements. I normally don't like to support environment variables that make the installation undeterministic but since it can also unblock users in these strange cases, so it's probably a good start.
I would vote to also add the pypi-options for the flags we care about.

Yeah I was wondering that too, but its just a bit complicated because of a lot of them aren't applicable to our environment solving use case. But a bunch of them are though, apparently the structure EnvironmentFlags used in this PR only reads two of these right @nichmor?

Would be good to do a sit-down at some point and decide what env variables to expose though.

Yes!

regarding the other env flags - we need to plan what we want to expose maybe both for rattler and uv, and what env flags we will use only for uv.

I think a sit-down will be a good idea for this

@nichmor nichmor merged commit 990804d into prefix-dev:main Jan 22, 2026
42 checks passed
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.

Trouble installing nightly build of torch_xla[tpu]

3 participants