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

upgrade python backend from poetry to uv #2049

Open
mishraomp opened this issue Aug 19, 2024 · 9 comments
Open

upgrade python backend from poetry to uv #2049

mishraomp opened this issue Aug 19, 2024 · 9 comments
Labels
enhancement New feature or request

Comments

@mishraomp
Copy link
Collaborator

https://github.com/astral-sh/uv

@mishraomp
Copy link
Collaborator Author

@franTarkenton @conbrad @DerekRoberts this looks promising, let me know if you guys think otherwise.

@mishraomp mishraomp added the enhancement New feature or request label Aug 19, 2024
@DerekRoberts
Copy link
Member

@mishraomp Let's dig in. :)

@conbrad
Copy link

conbrad commented Aug 19, 2024

Looks interesting, we use their lint/formatter tool, ruff: https://github.com/astral-sh/ruff

@conbrad
Copy link

conbrad commented Aug 19, 2024

Might be difficult for us to use since we work on macOS, and their lockfiles are platform specific: https://github.com/astral-sh/uv?tab=readme-ov-file#limitations

@conbrad
Copy link

conbrad commented Aug 19, 2024

Looks like you can generate different platform lockfiles with a flag though so it may not be too tricky: https://github.com/astral-sh/uv?tab=readme-ov-file#platform-independent-resolution

@mishraomp
Copy link
Collaborator Author

thanks @conbrad , may be we should move from poetry and prospector in the qsos to uv and ruff

cc @DerekRoberts @franTarkenton

@DerekRoberts
Copy link
Member

Thanks @conbrad. Unfortunately the non-agnostic lockfiles sound like a deal breaker. Rather than using their workarounds, how about waiting until this is solved?

@conbrad
Copy link

conbrad commented Aug 19, 2024

Thanks @conbrad. Unfortunately the non-agnostic lockfiles sound like a deal breaker. Rather than using their workarounds, how about waiting until this is solved?

I think it should be fine, would just need to test it, from their readme:

For example, if you're running uv on macOS, but want to resolve for Linux, you can run uv pip compile --python-platform=linux requirements.in to produce a manylinux2014-compatible resolution.

@conbrad
Copy link

conbrad commented Aug 19, 2024

It might even be more transparent than pip, poetry, etc, since their agnostic lockfiles are hiding the real binaries they're pulling down for each platform anyways.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Backlog
Development

No branches or pull requests

3 participants