Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to install with uv #288

Open
jku opened this issue Apr 8, 2024 · 2 comments
Open

Fails to install with uv #288

jku opened this issue Apr 8, 2024 · 2 comments

Comments

@jku
Copy link
Member

jku commented Apr 8, 2024

https://github.com/astral-sh/uv currently fails to install protobuf-specs: theupdateframework/tuf-on-ci#205

  • uv does not accept pre-releases without an explicit --prerelease=allow
  • this project depends on betterproto 2.0.0b6

It's been about four years since 2.0.0b1 so waiting for betterproto to release might not be a good strategy. If we consider this important we could offer to do some work to the maintainer if that helps them make a release?

@woodruffw
Copy link
Member

It's been about four years since 2.0.0b1 so waiting for betterproto to release might not be a good strategy. If we consider this important we could offer to do some work to the maintainer if that helps them make a release?

Yeah, this would be ideal -- I've sent a few patches upstream to betterproto (in particular, fixing the handling of the Struct WKT), but I don't know how close they are to a stable 2.0 release.

(In particular, I still need to complete the fix in danielgtaylor/python-betterproto#559, which I'm still slightly murky on.)

More generally though, prereleases are part of PEP 440 and uv should support them, at least when fully pinned (e.g. protobuf-specs==2.0.0b6). So I think it might also be good to prod uv into finishing their prerelease support 🙂

@spencerschrock
Copy link

This is also affecting users installing the model-signing library (from sigstore/model-transparency) either directly or indirectly with uv.

e.g. Kaggle/kagglehub#224 (comment)

As mentioned in the original comment, 2.0 of betterproto isn't known, and uv has stricter ideas of pre-release.
https://docs.astral.sh/uv/pip/compatibility/#pre-release-compatibility

In the future, uv may support pre-release identifiers in transitive dependencies. However, it's likely contingent on evolution in the Python packaging specifications. The existing PEPs do not cover "dependency resolution" and are instead focused on behavior for a single version specifier. As such, there are unresolved questions around the correct and intended behavior for pre-releases in the packaging ecosystem more broadly.

I don't follow PEPs too closely, so I don't know if anything has changed that would help uv "finish their prerelease support"?

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

No branches or pull requests

3 participants