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

Port from Poetry to uv #238

Open
5 tasks
johnthagen opened this issue Oct 12, 2024 · 0 comments
Open
5 tasks

Port from Poetry to uv #238

johnthagen opened this issue Oct 12, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@johnthagen
Copy link
Owner

johnthagen commented Oct 12, 2024

Given the funding and momentum behind uv, it seems inevitable that it will become the most powerful, de facto packaging tool for Python. When it is deemed ready, it should be recommended in place of Poetry.

Benefits

  • Bootstrapping: A source of friction with Poetry is that users must first be instructed on how to install pipx before they can install Poetry
  • uv can install Python itself, which is totally outside the scope of Poetry and is a desirable feature in and of itself (i.e. rustup for Python)
  • Speed: uv, being written in Rust and also having a design focus on performance, will likely out perform Poetry on every benchmark
  • Single binary: uv is distributed as a single binary meaning that all, among other things, users of uv version X get the exact same code. On the other hand, Poetry does not pin its dependencies so breakages can occur and not all users are guarenteed to have the same third party libraries installed with it
  • uv supports running scripts with PEP 723 Inline script metadata, while it does not appear Poetry supports this. pipx would need to be used for this, which further fragments the tools users must understand and keep up to date.

Upstream Requests

uv is still a fast moving project and it may be advantageous to wait to recommend moving to it until a few things have settled.

Nice to Have

@johnthagen johnthagen added the enhancement New feature or request label Oct 12, 2024
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
None yet
Development

No branches or pull requests

1 participant