22 ms·
I think for a lot of us, it was very frustrating when it was being pushed with no real analog for the practices we had in other languages. Poetry used to be pu
by taeric 1y ago
I think for a lot of us, it was very frustrating when it was being pushed with no real analog for the practices we had in other languages. Poetry used to be pushed as how to do dependency management, but it was not obvious that it was not necessarily your build manager, as well. Even today, I'm not entirely clear what the standard approach is for how to manage a project. :(
- blurbleblurble 1y agoIf I were to try again I'd go with uv, it seems way way better
- taeric 1y agoI have been sticking with poetry for a while, now. What would make me want/need to move to uv?
- cdelsolar 1y agoyeah Poetry is fine
- blurbleblurble 1y agoMaybe you'll find this series of articles interesting: https://www.loopwerk.io/articles/tag/uv/ https://www.loopwerk.io/articles/tag/uv/
- taeric 1y agoThanks! I'm not entirely sure I see a reason to change on there, oddly. I'm very fortunate that my python projects are all relatively small, so maybe that colors things a bit. Certainly looks like something that would have swayed me to uv at the start, but as things are, I think I mainly just wish there was a more standard/accepted work flow for build and release.
- blurbleblurble 1y agoMakes sense. I've stopped using python for development but I run into python utilities I want to use all the time. uv/uvx are perfect for someone like me.
- maleldil 1y ago- Performance: uv is so much faster that some operations become transparent. poetry's dependency resolver is notoriously slow. uv being a native binary also means it has a faster startup time. - Interpreter version management: uv can handle separate python versions per project automatically. No need for pyenv/asdf/mise. - Bootstrapping: you only need the uv binary, and it can handle any python installation, so you don't need to install python to install a management program. - Environment management: uv will transparently create and update the environment. You don't need to source the venv either, you use `uv run...` instead of python directly. Overall, it makes common Python project management tasks simple and transparent. It also follows standards (like project definition metadata and lock files), which poetry often doesn't.
- taeric 1y agoI'll pay attention to poetry soon. As is, I don't recall my builds ever going slow because of poetry. I don't think I've noticed it have any impact on speed, at all. I did just update the dependencies of some of my projects. I could see how that could be faster. I don't do that often enough for me to care about it, though. `poetry run pytest` is the slowest thing I have, and I'm confident most of that slowness is in my direct control already. I'm intrigued on the lock file point. I thought that was literally one of the main reasons to use something like poetry, in the first place? Does uv have a better lock file mechanism?
- maleldil 1y agouv supports the standardised lock file format. This means that you're not tied to uv for anything, as most project settings it uses (eg metadata, dependencies, extras, etc.) are based on PEPs. poetry has its own format for many things. https://peps.python.org/pep-0751/ https://peps.python.org/pep-0751/
- taeric 1y agoAh, I see that this is a newer format than the projects I've been using poetry for. Are there advantages to move to it?