Pip is a sane default that works for absolute majority of cases, anyway correct tool for installing programs from pypi is pipx that eliminates ‘dependency hell’, but ofc new cool tool is the only way to do things.
When little program in rust that replaced previous one compiles two hours compared to previous that compiled in a few minutes it matters.
UV is a lot more than pipx. It installs applications from pypi, without dependency hell, but it also uses hard links when possible to avoid wasting space. But it’s also a dev tool. It manages python installations, workspaces, you can use it to edit the pyproject, it can also publish to pypi, even from a GitHub action if set up from pypi. It just does a lot more.
None of the issues you’ve described are Cargo’s fault. The long compilation time is simply rustc’s compile-time checks (ensuring type and memory safety is much more involved than lexing in GCC), and the number of dependencies to compile is a result of the crate ecosystem. Cargo is just the front-end that automates fetching dependencies and compilation with rustc. Blaming it for slow compilation is like hitting your monitor when the computer is acting up.
I’m not blaming cargo specifically for building it is slow to download deps as well, which was clearly stated in my first post. I’m going to edit it now.
Pip is a sane default that works for absolute majority of cases, anyway correct tool for installing programs from pypi is pipx that eliminates ‘dependency hell’, but ofc new cool tool is the only way to do things.
When little program in rust that replaced previous one compiles two hours compared to previous that compiled in a few minutes it matters.
UV is a lot more than pipx. It installs applications from pypi, without dependency hell, but it also uses hard links when possible to avoid wasting space. But it’s also a dev tool. It manages python installations, workspaces, you can use it to edit the pyproject, it can also publish to pypi, even from a GitHub action if set up from pypi. It just does a lot more.
None of the issues you’ve described are Cargo’s fault. The long compilation time is simply rustc’s compile-time checks (ensuring type and memory safety is much more involved than lexing in GCC), and the number of dependencies to compile is a result of the crate ecosystem. Cargo is just the front-end that automates fetching dependencies and compilation with rustc. Blaming it for slow compilation is like hitting your monitor when the computer is acting up.
I’m not blaming cargo specifically for building it is slow to download deps as well, which was clearly stated in my first post. I’m going to edit it now.