{"slug": "uv", "name": "uv", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Fast Python package and project manager from Astral, written in Rust.", "recommenders": 42, "commenters": 61, "warners": 4, "score": 36.998, "rising": 2.18, "first": "2025-11-01", "latest": "2026-10-24", "why": "HN commenters praise uv for making Python environments, versions and lockfiles far less painful, and many also note its speed.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 42, "neutral": 13, "compare": 3, "warn": 4}, "spark": [5, 4, 6, 0, 5, 1, 3, 2, 4, 5, 2, 5], "listed": true, "loved": ["Simpler workflows", "Speed"], "caveat": "CLI UX", "short_quote": "I love using uv and would be supper happy if it allowed me not only to add and remove", "icon": true, "domain": "astral.sh", "github_repo": null, "official_url": "https://docs.astral.sh/uv/", "pricing": "open source", "aliases": ["uv"], "verdict": [{"text": "HN commenters praise uv for making Python environments, versions and lockfiles far less painful", "cites": [{"id": 803503616, "item_id": 50218976, "url": "https://news.ycombinator.com/item?id=50218976", "by": "matsemann", "date": "2026-10-24", "stance": "recommend", "quote": "Uv hasn't fixed all issues, but made it far less painful.", "excerpt": "Until uv, I used docker to run python projects locally. Got so fed up with venvs and versions and slowness and lack of wheels and spending so much time mucking around with it when cloning or updating a repo. Uv hasn't fixed all issues, but made it far less painful.", "context": "", "use_case": "running Python projects locally", "switched_from": "Docker", "story": "Bringing uv and ty together"}, {"id": 792186464, "item_id": 49511654, "url": "https://news.ycombinator.com/item?id=49511654", "by": "tedivm", "date": "2026-08-31", "stance": "recommend", "quote": "I use it because it's smart enough to manage virtual environments for each environment and tool", "excerpt": "There are a ton of advantages to using uv over pip. I don't use UV because it's faster, although I do appreciate that. I use it because it's smart enough to manage virtual environments for each environment and tool, it can isolate to different python versions trivially, and it handles locking in a way that is actual sane.", "context": "", "use_case": "Python environments and locking", "switched_from": "pip", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 763441584, "item_id": 47715099, "url": "https://news.ycombinator.com/item?id=47715099", "by": "stellalo", "date": "2026-04-10", "stance": "recommend", "quote": "you might come for the speed, but you stay because it works so well.", "excerpt": "One thing that is to be said about uv: you might come for the speed, but you stay because it works so well. The Python ecosystem used to be such a mess to manage, between Python versions, environments and so on: I haven\u2019t complained once about it since I use uv. To the point that I tend to distrust a Python project if it\u2019s not managed with uv, and anticipate all the dependency resolution issues that I will face.", "context": "", "use_case": "Python dependency and environment management", "switched_from": "", "story": "How Uv Works Under the Hood"}, {"id": 758735392, "item_id": 47420962, "url": "https://news.ycombinator.com/item?id=47420962", "by": "mmis1000", "date": "2026-03-17", "stance": "recommend", "quote": "Highly recommend if you are still on pip.", "excerpt": "Uv helps you up though. Use a pyproject.toml and uv sync. Everything will be put into the venv only, nothing spread across the whole system. The pyproject.toml can even handles build env for you, so you no longer need a setup.sh that installs 10 tool in specific order with specific flag to produce working environment. A single uv sync, and the job is done. Plus the result is reproducible, so if this time uv sync work", "context": "", "use_case": "reproducible Python environments", "switched_from": "pip", "story": "Unsloth Studio"}]}, {"text": ", and many also note its speed.", "cites": [{"id": 796066208, "item_id": 49754138, "url": "https://news.ycombinator.com/item?id=49754138", "by": "skeledrew", "date": "2026-09-18", "stance": "recommend", "quote": "uv offers a lot of actual valuable features and simplified some of my flows, so it's now my main Python project manager", "excerpt": "This sounds like my experience switching from conda to uv. The speed seriously blew my mind, and sometimes still does today. But then I think about the tradeoffs: I've encountered issues with uv-packaged Python because they've optimized the heck out of it, like a few months ago I was working with tkinter and things were failing hard on ways I couldn't understand, then I switched to conda for those projects and... thi", "context": "", "use_case": "Python project management", "switched_from": "conda", "story": "Flet 1.0 \u2013 Build cross-platform apps in Python"}, {"id": 745870368, "item_id": 46616898, "url": "https://news.ycombinator.com/item?id=46616898", "by": "sebtron", "date": "2026-01-14", "stance": "recommend", "quote": "I definitely appreciate a 16x speedup if possible.", "excerpt": "> Are people making user facing apps in rust with uis? We are talking not only about Rust, but also about C and C++. There are lots of C++ UI applications. Rust poses itself as an alternative to C++, so it is definitely intended to be used for UI applications too - it was created to write a browser! At work I am using tools such as uv [1] and ruff [2], which are user-facing (although not GUI), and I definitely apprec", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Is Rust faster than C?"}, {"id": 742576320, "item_id": 46411020, "url": "https://news.ycombinator.com/item?id=46411020", "by": "roelschroeven", "date": "2025-12-28", "stance": "recommend", "quote": "experience its speed and other useful features that you fully get why so many people switch from pip or poetry", "excerpt": "I feel this is somewhat similar to something Linus Torvalds once said about the faster merges git brought to his workflow: \"That's the kind of performance that actually changes how you work. It's no longer doing the same thing faster, it's allowing you to work in a completely different manner. That is why performance matters and why you really should not look at anything but git. Hg (Mercurial) is pretty good, but gi", "context": "", "use_case": "Python venvs and package installs", "switched_from": "pip", "story": "How uv got so fast"}, {"id": 746984929, "item_id": 46686558, "url": "https://news.ycombinator.com/item?id=46686558", "by": "kingkongjaffa", "date": "2026-01-19", "stance": "recommend", "quote": "uv solved packaging.", "excerpt": "Ruff solved python formatting and linting. uv solved packaging. Both were better in terms of user ergonomics and also much faster that what we used before, black, mypy, pylint etc. IDK it Typescript is too generic but TS made me think of javascript as a proper language and not something just to do silly little animations on websites for. Types unlock proper data modeling and application code to me. Figma and Figjam a", "context": "", "use_case": "Python packaging", "switched_from": "", "story": "Ask HN: What non-LLM tools have meaningfully improved your dev productivity?"}]}, {"text": " The most common complaints are an awkward, fragmented CLI and painful dependency upgrades", "cites": [{"id": 785523984, "item_id": 49095249, "url": "https://news.ycombinator.com/item?id=49095249", "by": "drcongo", "date": "2026-07-29", "stance": "recommend", "quote": "I love uv, but man the ux needs some work.", "excerpt": "Still no `uv show` and still no homepage link in `uv pip show`. I love uv, but man the ux needs some work.", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv 0.12.0"}, {"id": 771738624, "item_id": 48233664, "url": "https://news.ycombinator.com/item?id=48233664", "by": "drcongo", "date": "2026-05-22", "stance": "recommend", "quote": "I love uv for so many things, but updating dependencies to latest versions that are compatible with everything else in the project is so much more painful in uv than in poetry.", "excerpt": "Hard agree with this article. I love uv for so many things, but updating dependencies to latest versions that are compatible with everything else in the project is so much more painful in uv than in poetry. The fact that half the functionality is hidden behind `uv pip ...` or is incredibly odd as these days most people would never otherwise need `uv pip` at all. Possibly the most frustrating hidden command is `uv pip", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv is fantastic, but its package management UX is a mess"}, {"id": 803509120, "item_id": 50219320, "url": "https://news.ycombinator.com/item?id=50219320", "by": "assumed_throwaw", "date": "2026-10-24", "stance": "recommend", "quote": "I love Astral\u2019s tools", "excerpt": "I love Astral\u2019s tools, but I wonder why the CLI feels so fragmented. - Now, ty is integrated into uv, while ty is technically being part of ruff [1], but ruff is not integrated into uv. - The formatter is part of ruff, but uv also have an undocumented \"format\" command, which does not produce the same results. - Actually, ruff is integrated into uv, but you must call it through \"uv tool run ruff\". I guess I'd like \"uv", "context": "", "use_case": "Python tooling", "switched_from": "", "story": "Bringing uv and ty together"}, {"id": 732506688, "item_id": 45781668, "url": "https://news.ycombinator.com/item?id=45781668", "by": "vanous", "date": "2025-11-01", "stance": "recommend", "quote": "I love using uv and would be supper happy if it allowed me not only to add and remove", "excerpt": "I love using uv and would be supper happy if it allowed me not only to add and remove uv add package uv remove package But also to upgrade a package and upgrade all packages in the pyproject.toml . The uv sync --upgrade can already do this in uv.lock , but not in pyproject.toml", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv is the best thing to happen to the Python ecosystem in a decade"}]}, {"text": ", and some say the speed barely matters in practice.", "cites": [{"id": 763473185, "item_id": 47717074, "url": "https://news.ycombinator.com/item?id=47717074", "by": "evill33t", "date": "2026-04-10", "stance": "warn", "quote": "the acclaimed 10x more speed doesn't really matter for installing dependencies", "excerpt": "Because every few month a new hot package manager comes around that basically does nothing better then pip - the acclaimed 10x more speed doesn't really matter for installing dependencies and why should we use something that's not even written in python?", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Why Aren't We Uv Yet?"}, {"id": 742340000, "item_id": 46396250, "url": "https://news.ycombinator.com/item?id=46396250", "by": "andy99", "date": "2025-12-26", "stance": "neutral", "quote": "I remain baffled about these posts getting excited about uv\u2019s speed.", "excerpt": "I remain baffled about these posts getting excited about uv\u2019s speed. I\u2019d like to see a real poll but I personally can\u2019t imagine people listing speed as one of the their top ten concerns about python package managers. What are the common use cases where the delay due to package installation is at all material? Edit to add: I use python daily", "context": "uses Python daily", "use_case": "Python package management", "switched_from": "", "story": "How uv got so fast"}, {"id": 792156656, "item_id": 49509791, "url": "https://news.ycombinator.com/item?id=49509791", "by": "apple1417", "date": "2026-08-31", "stance": "neutral", "quote": "The one use I can give it is for running scripts with inline dependencies. I have found it a noticeable improvement over pipx there.", "excerpt": "I have never gotten the speed argument either. Yes it's noticeably faster - but in all my projects it's 1s vs 0.1s, not enough to make a meaningful difference. Even in their benchmarks, the worst number they ever give for pip is 7s [1] (and those numbers are 2+ years old, with python's improvements pip should be doing a little better now). I just can't say I've ever cared about installing dependencies, something you ", "context": "", "use_case": "running scripts with inline dependencies", "switched_from": "pipx", "story": "uv: Deduplicate all files in the wheel cache"}]}], "praise": [{"label": "Simpler workflows", "summary": "Commenters say uv takes much of the pain out of managing Python projects and environments.", "quotes": [{"id": 803503616, "item_id": 50218976, "url": "https://news.ycombinator.com/item?id=50218976", "by": "matsemann", "date": "2026-10-24", "stance": "recommend", "quote": "Uv hasn't fixed all issues, but made it far less painful.", "excerpt": "Until uv, I used docker to run python projects locally. Got so fed up with venvs and versions and slowness and lack of wheels and spending so much time mucking around with it when cloning or updating a repo. Uv hasn't fixed all issues, but made it far less painful.", "context": "", "use_case": "running Python projects locally", "switched_from": "Docker", "story": "Bringing uv and ty together"}, {"id": 763441584, "item_id": 47715099, "url": "https://news.ycombinator.com/item?id=47715099", "by": "stellalo", "date": "2026-04-10", "stance": "recommend", "quote": "you might come for the speed, but you stay because it works so well.", "excerpt": "One thing that is to be said about uv: you might come for the speed, but you stay because it works so well. The Python ecosystem used to be such a mess to manage, between Python versions, environments and so on: I haven\u2019t complained once about it since I use uv. To the point that I tend to distrust a Python project if it\u2019s not managed with uv, and anticipate all the dependency resolution issues that I will face.", "context": "", "use_case": "Python dependency and environment management", "switched_from": "", "story": "How Uv Works Under the Hood"}, {"id": 792146256, "item_id": 49509141, "url": "https://news.ycombinator.com/item?id=49509141", "by": "ForceBru", "date": "2026-08-31", "stance": "recommend", "quote": "I can use uv here and now to greatly simplify my workflows, so I use it.", "excerpt": "Well, it's fast. Perhaps \"they\" want me and everyone else unemployed, but it's not immediate and not particularly certain. However, I can use uv here and now to greatly simplify my workflows, so I use it.", "context": "", "use_case": "Python workflow tooling", "switched_from": "", "story": "uv: Deduplicate all files in the wheel cache"}]}, {"label": "Speed", "summary": "Several users find uv much faster than the tools it replaced.", "quotes": [{"id": 796066208, "item_id": 49754138, "url": "https://news.ycombinator.com/item?id=49754138", "by": "skeledrew", "date": "2026-09-18", "stance": "recommend", "quote": "uv offers a lot of actual valuable features and simplified some of my flows, so it's now my main Python project manager", "excerpt": "This sounds like my experience switching from conda to uv. The speed seriously blew my mind, and sometimes still does today. But then I think about the tradeoffs: I've encountered issues with uv-packaged Python because they've optimized the heck out of it, like a few months ago I was working with tkinter and things were failing hard on ways I couldn't understand, then I switched to conda for those projects and... thi", "context": "", "use_case": "Python project management", "switched_from": "conda", "story": "Flet 1.0 \u2013 Build cross-platform apps in Python"}, {"id": 745870368, "item_id": 46616898, "url": "https://news.ycombinator.com/item?id=46616898", "by": "sebtron", "date": "2026-01-14", "stance": "recommend", "quote": "I definitely appreciate a 16x speedup if possible.", "excerpt": "> Are people making user facing apps in rust with uis? We are talking not only about Rust, but also about C and C++. There are lots of C++ UI applications. Rust poses itself as an alternative to C++, so it is definitely intended to be used for UI applications too - it was created to write a browser! At work I am using tools such as uv [1] and ruff [2], which are user-facing (although not GUI), and I definitely apprec", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Is Rust faster than C?"}, {"id": 742576320, "item_id": 46411020, "url": "https://news.ycombinator.com/item?id=46411020", "by": "roelschroeven", "date": "2025-12-28", "stance": "recommend", "quote": "experience its speed and other useful features that you fully get why so many people switch from pip or poetry", "excerpt": "I feel this is somewhat similar to something Linus Torvalds once said about the faster merges git brought to his workflow: \"That's the kind of performance that actually changes how you work. It's no longer doing the same thing faster, it's allowing you to work in a completely different manner. That is why performance matters and why you really should not look at anything but git. Hg (Mercurial) is pretty good, but gi", "context": "", "use_case": "Python venvs and package installs", "switched_from": "pip", "story": "How uv got so fast"}]}, {"label": "Envs and locking", "summary": "Users like how uv handles virtual environments, sane locking and reproducible syncs.", "quotes": [{"id": 792186464, "item_id": 49511654, "url": "https://news.ycombinator.com/item?id=49511654", "by": "tedivm", "date": "2026-08-31", "stance": "recommend", "quote": "I use it because it's smart enough to manage virtual environments for each environment and tool", "excerpt": "There are a ton of advantages to using uv over pip. I don't use UV because it's faster, although I do appreciate that. I use it because it's smart enough to manage virtual environments for each environment and tool, it can isolate to different python versions trivially, and it handles locking in a way that is actual sane.", "context": "", "use_case": "Python environments and locking", "switched_from": "pip", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 758735392, "item_id": 47420962, "url": "https://news.ycombinator.com/item?id=47420962", "by": "mmis1000", "date": "2026-03-17", "stance": "recommend", "quote": "Highly recommend if you are still on pip.", "excerpt": "Uv helps you up though. Use a pyproject.toml and uv sync. Everything will be put into the venv only, nothing spread across the whole system. The pyproject.toml can even handles build env for you, so you no longer need a setup.sh that installs 10 tool in specific order with specific flag to produce working environment. A single uv sync, and the job is done. Plus the result is reproducible, so if this time uv sync work", "context": "", "use_case": "reproducible Python environments", "switched_from": "pip", "story": "Unsloth Studio"}, {"id": 771823984, "item_id": 48238999, "url": "https://news.ycombinator.com/item?id=48238999", "by": "black3r", "date": "2026-05-22", "stance": "recommend", "quote": "we just run `uv lock --upgrade` every 2 weeks through GH actions.", "excerpt": "We have 257 python dependencies in our production app (over half of them are direct dependencies). We don't have any upper bounds in our pyproject.toml and we just run `uv lock --upgrade` every 2 weeks through GH actions. We have good test coverage so if anything breaks the tests fail + we have AI assisted review process for this -> when GH action creates the upgrade PR, an AI workflow uses a python script to list ma", "context": "full stack dev", "use_case": "automated dependency upgrades", "switched_from": "", "story": "Uv is fantastic, but its package management UX is a mess"}]}, {"label": "Python versions", "summary": "uv can pin and install Python versions and keep them apart from the system Python.", "quotes": [{"id": 782077616, "item_id": 48879851, "url": "https://news.ycombinator.com/item?id=48879851", "by": "willx86", "date": "2026-07-12", "stance": "recommend", "quote": "I highly recommend UV", "excerpt": "I highly recommend UV If you find yourself forced to use python, UV is the way to go Try it out :) uv init uv add XXX uv run main.py ( You can pin python versions and auto install them etc )", "context": "", "use_case": "Python project and version management", "switched_from": "", "story": "Amber the programming language compiled to Bash/Ksh/Zsh"}, {"id": 737461424, "item_id": 46091339, "url": "https://news.ycombinator.com/item?id=46091339", "by": "grim_io", "date": "2025-11-29", "stance": "recommend", "quote": "I recommend you stick with uv and set the env var: UV_MANAGED_PYTHON=true", "excerpt": "Ah, the joys of sudo pip install If you are unexperienced, I recommend you stick with uv and set the env var: UV_MANAGED_PYTHON=true This will make uv not consider system python, only the uv-managed python versions. No more f-ing up the system python and juggling with multiple apt-installed python versions.", "context": "", "use_case": "Python environment management", "switched_from": "", "story": "Xkcd: Python Environment (2018)"}, {"id": 785260848, "item_id": 49078803, "url": "https://news.ycombinator.com/item?id=49078803", "by": "js2", "date": "2026-07-27", "stance": "recommend", "quote": "these self-contained Pythons which I use via uv", "excerpt": "It's definitely wrong for macOS. The python.org macOS download has been an installer package that installs Python to /Applications as long as I can remember. (That said, I've rarely used it, preferring either the macOS/Xcode-provided Python or these self-contained Pythons which I use via uv.)", "context": "", "use_case": "installing Python", "switched_from": "", "story": "Self-contained highly-portable Python distributions"}]}, {"label": "Scripts and installs", "summary": "Users like it for scripts with inline dependencies and for installing tools straight from git.", "quotes": [{"id": 792156656, "item_id": 49509791, "url": "https://news.ycombinator.com/item?id=49509791", "by": "apple1417", "date": "2026-08-31", "stance": "neutral", "quote": "The one use I can give it is for running scripts with inline dependencies. I have found it a noticeable improvement over pipx there.", "excerpt": "I have never gotten the speed argument either. Yes it's noticeably faster - but in all my projects it's 1s vs 0.1s, not enough to make a meaningful difference. Even in their benchmarks, the worst number they ever give for pip is 7s [1] (and those numbers are 2+ years old, with python's improvements pip should be doing a little better now). I just can't say I've ever cared about installing dependencies, something you ", "context": "", "use_case": "running scripts with inline dependencies", "switched_from": "pipx", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 792128000, "item_id": 49508000, "url": "https://news.ycombinator.com/item?id=49508000", "by": "dboreham", "date": "2026-08-31", "stance": "recommend", "quote": "it makes it very convenient to install directly from a git repository and then to subsequently update from same repository", "excerpt": "People say uv is good because it's fast, but honestly I don't care about that. We switched to using it for distribution of our Python-based tools because it makes it very convenient to install directly from a git repository and then to subsequently update from same repository. No need to build a package.", "context": "", "use_case": "distributing Python tools", "switched_from": "", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 745882144, "item_id": 46617634, "url": "https://news.ycombinator.com/item?id=46617634", "by": "Imustaskforhelp", "date": "2026-01-14", "stance": "recommend", "quote": "To me this script feels like the best of both worlds and something genuinely sane to build upon.", "excerpt": "Wrote a comment to someone here but I thought of deciding to make a main comment here as well Note that I don't really use github actions much but have heard about its architecture From my understanding, I feel like Github actions should just be a call to some bash or python file. Bash has its issues so I prefer python I recommend people to take a look at https://paulw.tokyo/standalone-python-script-with-uv/ and plea", "context": "", "use_case": "Python scripts in CI", "switched_from": "", "story": "I Hate GitHub Actions with Passion"}]}, {"label": "Agent-friendly", "summary": "Commands like \"uv run pytest\" let coding agents run tests without setting up an environment first.", "quotes": [{"id": 752051200, "item_id": 47003200, "url": "https://news.ycombinator.com/item?id=47003200", "by": "simonw", "date": "2026-02-13", "stance": "recommend", "quote": "Run \"uv run pytest\"", "excerpt": "I don't use CLAUDE.md, I instead use simple token-efficient conventions. Most importantly all of my Python projects use a pyproject.toml file with this pattern: [dependency-groups] dev = [\"pytest\"] Which means I can tell the agent: Run \"uv run pytest\" And it will run the tests - without first needing to setup a virtual environment or install dependencies or anything like that. I wrote more about that pattern here: ht", "context": "", "use_case": "running tests without environment setup", "switched_from": "", "story": "I asked Claude Code to remove jQuery. It failed miserably"}, {"id": 752047090, "item_id": 47002943, "url": "https://news.ycombinator.com/item?id=47002943", "by": "simonw", "date": "2026-02-13", "stance": "neutral", "quote": "I start every one of my coding agent sessions with \"run uv run pytest\"", "excerpt": "How did you have it testing its code changes? Did you tell it to use Playwright or agent-browser or anything like that? If coding agents can't test the code as they're editing it they're no different from pasting your entire codebase into ChatGPT and crossing your fingers. At one point you mention it hadn't run \"npm test\" - did it run that once you directly told it to? I start every one of my coding agent sessions wi", "context": "", "use_case": "running tests in agent sessions", "switched_from": "", "story": "I asked Claude Code to remove jQuery. It failed miserably"}, {"id": 791626704, "item_id": 49476669, "url": "https://news.ycombinator.com/item?id=49476669", "by": "LoganDark", "date": "2026-08-28", "stance": "recommend", "quote": "such as using `uv` for running Python when needed", "excerpt": "Just because it doesn't materially impact task success rates does not mean it's not useful. I use that file to give my agent information about the environment (operating system, architecture, command-line utilities I have installed), as well as how to do certain things (such as using `uv` for running Python when needed). I want my agent to work how I do, so I also tell it things like my preferred version control syst", "context": "", "use_case": "running Python", "switched_from": "", "story": "Your AGENTS.md file doesn't do anything"}]}], "caveats": [{"label": "CLI UX", "summary": "Users call the CLI fragmented, with key commands hidden under \"uv pip\" or missing entirely.", "quotes": [{"id": 785523984, "item_id": 49095249, "url": "https://news.ycombinator.com/item?id=49095249", "by": "drcongo", "date": "2026-07-29", "stance": "recommend", "quote": "I love uv, but man the ux needs some work.", "excerpt": "Still no `uv show` and still no homepage link in `uv pip show`. I love uv, but man the ux needs some work.", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv 0.12.0"}, {"id": 771738624, "item_id": 48233664, "url": "https://news.ycombinator.com/item?id=48233664", "by": "drcongo", "date": "2026-05-22", "stance": "recommend", "quote": "I love uv for so many things, but updating dependencies to latest versions that are compatible with everything else in the project is so much more painful in uv than in poetry.", "excerpt": "Hard agree with this article. I love uv for so many things, but updating dependencies to latest versions that are compatible with everything else in the project is so much more painful in uv than in poetry. The fact that half the functionality is hidden behind `uv pip ...` or is incredibly odd as these days most people would never otherwise need `uv pip` at all. Possibly the most frustrating hidden command is `uv pip", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv is fantastic, but its package management UX is a mess"}, {"id": 803509120, "item_id": 50219320, "url": "https://news.ycombinator.com/item?id=50219320", "by": "assumed_throwaw", "date": "2026-10-24", "stance": "recommend", "quote": "I love Astral\u2019s tools", "excerpt": "I love Astral\u2019s tools, but I wonder why the CLI feels so fragmented. - Now, ty is integrated into uv, while ty is technically being part of ruff [1], but ruff is not integrated into uv. - The formatter is part of ruff, but uv also have an undocumented \"format\" command, which does not produce the same results. - Actually, ruff is integrated into uv, but you must call it through \"uv tool run ruff\". I guess I'd like \"uv", "context": "", "use_case": "Python tooling", "switched_from": "", "story": "Bringing uv and ty together"}]}, {"label": "Dependency upgrades", "summary": "Upgrading dependencies is described as more painful than in Poetry and does not update pyproject.toml.", "quotes": [{"id": 771738624, "item_id": 48233664, "url": "https://news.ycombinator.com/item?id=48233664", "by": "drcongo", "date": "2026-05-22", "stance": "recommend", "quote": "I love uv for so many things, but updating dependencies to latest versions that are compatible with everything else in the project is so much more painful in uv than in poetry.", "excerpt": "Hard agree with this article. I love uv for so many things, but updating dependencies to latest versions that are compatible with everything else in the project is so much more painful in uv than in poetry. The fact that half the functionality is hidden behind `uv pip ...` or is incredibly odd as these days most people would never otherwise need `uv pip` at all. Possibly the most frustrating hidden command is `uv pip", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv is fantastic, but its package management UX is a mess"}, {"id": 732506688, "item_id": 45781668, "url": "https://news.ycombinator.com/item?id=45781668", "by": "vanous", "date": "2025-11-01", "stance": "recommend", "quote": "I love using uv and would be supper happy if it allowed me not only to add and remove", "excerpt": "I love using uv and would be supper happy if it allowed me not only to add and remove uv add package uv remove package But also to upgrade a package and upgrade all packages in the pyproject.toml . The uv sync --upgrade can already do this in uv.lock , but not in pyproject.toml", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv is the best thing to happen to the Python ecosystem in a decade"}]}, {"label": "Speed overrated", "summary": "Some argue faster installs make little real difference to development time.", "quotes": [{"id": 763473185, "item_id": 47717074, "url": "https://news.ycombinator.com/item?id=47717074", "by": "evill33t", "date": "2026-04-10", "stance": "warn", "quote": "the acclaimed 10x more speed doesn't really matter for installing dependencies", "excerpt": "Because every few month a new hot package manager comes around that basically does nothing better then pip - the acclaimed 10x more speed doesn't really matter for installing dependencies and why should we use something that's not even written in python?", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Why Aren't We Uv Yet?"}, {"id": 742340000, "item_id": 46396250, "url": "https://news.ycombinator.com/item?id=46396250", "by": "andy99", "date": "2025-12-26", "stance": "neutral", "quote": "I remain baffled about these posts getting excited about uv\u2019s speed.", "excerpt": "I remain baffled about these posts getting excited about uv\u2019s speed. I\u2019d like to see a real poll but I personally can\u2019t imagine people listing speed as one of the their top ten concerns about python package managers. What are the common use cases where the delay due to package installation is at all material? Edit to add: I use python daily", "context": "uses Python daily", "use_case": "Python package management", "switched_from": "", "story": "How uv got so fast"}, {"id": 792156656, "item_id": 49509791, "url": "https://news.ycombinator.com/item?id=49509791", "by": "apple1417", "date": "2026-08-31", "stance": "neutral", "quote": "The one use I can give it is for running scripts with inline dependencies. I have found it a noticeable improvement over pipx there.", "excerpt": "I have never gotten the speed argument either. Yes it's noticeably faster - but in all my projects it's 1s vs 0.1s, not enough to make a meaningful difference. Even in their benchmarks, the worst number they ever give for pip is 7s [1] (and those numbers are 2+ years old, with python's improvements pip should be doing a little better now). I just can't say I've ever cared about installing dependencies, something you ", "context": "", "use_case": "running scripts with inline dependencies", "switched_from": "pipx", "story": "uv: Deduplicate all files in the wheel cache"}]}, {"label": "Compatibility issues", "summary": "Users report problems with WSL2 setups, tkinter on uv-managed Python, and certificate handling.", "quotes": [{"id": 774645905, "item_id": 48415369, "url": "https://news.ycombinator.com/item?id=48415369", "by": "desipenguin", "date": "2026-06-05", "stance": "warn", "quote": "WSL2 + Windows filesystem + uv did not work well together.", "excerpt": "I did a similar workshop between Feb-April (1 hour zoom call on Wednesday, 3 hour hands-on in person every week) Most of the participants has Windows laptop. (Except one with Mac) We had suggested Linux on WSL2 and VSCode. (`uv` for python package management) But realized that we were spending a LOT of time fighting the tools/combination. WSL2 + Windows filesystem + uv did not work well together. For person with macO", "context": "ran an AI workshop", "use_case": "Python package management", "switched_from": "", "story": "Ask HN: What is your (AI) dev tech stack / workflow? (June 2026)"}, {"id": 796066208, "item_id": 49754138, "url": "https://news.ycombinator.com/item?id=49754138", "by": "skeledrew", "date": "2026-09-18", "stance": "recommend", "quote": "uv offers a lot of actual valuable features and simplified some of my flows, so it's now my main Python project manager", "excerpt": "This sounds like my experience switching from conda to uv. The speed seriously blew my mind, and sometimes still does today. But then I think about the tradeoffs: I've encountered issues with uv-packaged Python because they've optimized the heck out of it, like a few months ago I was working with tkinter and things were failing hard on ways I couldn't understand, then I switched to conda for those projects and... thi", "context": "", "use_case": "Python project management", "switched_from": "conda", "story": "Flet 1.0 \u2013 Build cross-platform apps in Python"}, {"id": 739452818, "item_id": 46215801, "url": "https://news.ycombinator.com/item?id=46215801", "by": "gschizas", "date": "2025-12-10", "stance": "warn", "quote": "I use uv, and it has its own problems", "excerpt": "The fact that most tools have completely different ways to allow them to add certificates is the biggest pain. Git, Python and Rust also have large issues. Git doesn't default to \"http.schannel\". Python (or rather requests, or maybe urllib3) only looks at its own certificate store, and I have no idea how Rust does this (well, I use uv, and it has its own problems - I know about the --use-native-tls flag, but it shoul", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Stop Breaking TLS"}]}, {"label": "Ownership worries", "summary": "Some fans worry about uv's long-term future after the reported acquisition of Astral.", "quotes": [{"id": 759140576, "item_id": 47446286, "url": "https://news.ycombinator.com/item?id=47446286", "by": "aanet", "date": "2026-03-19", "stance": "recommend", "quote": "I think it's one of the best tools around for Python ecosystem", "excerpt": "Uff. Reading all the comments made my head hurt. I love(d) `uv`. I think it's one of the best tools around for Python ecosystem... Therefore the pit in my tummy when I read this. Yes, congrats to the team and all that. I'm more worried about the long term impact on the ecosystem, as are almost everybody who dropped a comment here. My own thoughts echo somewhat what @SimonW wrote here [1] [1] https://simonwillison.net", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Astral to Join OpenAI"}, {"id": 759031184, "item_id": 47439449, "url": "https://news.ycombinator.com/item?id=47439449", "by": "time0ut", "date": "2026-03-19", "stance": "recommend", "quote": "I love uv and the other tooling Astral has built.", "excerpt": "I love uv and the other tooling Astral has built. It really helped reinvigorate my love for Python over the last year. Something like this was always inevitable. I just hope it doesn\u2019t ruin a good thing.", "context": "", "use_case": "Python tooling", "switched_from": "", "story": "Astral to Join OpenAI"}]}], "who": [{"by": "miki123211", "context": "Python programmer", "url": "https://news.ycombinator.com/item?id=50221672", "date": "2026-10-24"}, {"by": "Quothling", "context": "deploys on Azure container apps", "url": "https://news.ycombinator.com/item?id=48873404", "date": "2026-07-11"}, {"by": "circadian", "context": "Python developer", "url": "https://news.ycombinator.com/item?id=48355039", "date": "2026-06-01"}, {"by": "black3r", "context": "full stack dev", "url": "https://news.ycombinator.com/item?id=48238999", "date": "2026-05-22"}, {"by": "andy99", "context": "uses Python daily", "url": "https://news.ycombinator.com/item?id=46396250", "date": "2025-12-26"}, {"by": "jacobtomlinson", "context": "author of a post on Python package managers", "url": "https://news.ycombinator.com/item?id=45968346", "date": "2025-11-18"}], "tags": ["for Python projects", "replacing pip", "for standalone scripts", "for coding agents", "for automated dependency updates"], "use_cases": ["python package management", "python tooling", "python project management", "python packaging", "python environment management", "running python projects locally"], "compared": [{"slug": "pip", "name": "pip", "co": 17, "switched_from": 5, "switched_to": 0}, {"slug": "poetry", "name": "Poetry", "co": 9, "switched_from": 1, "switched_to": 0}, {"slug": "conda", "name": "Conda", "co": 8, "switched_from": 1, "switched_to": 0}, {"slug": "ruff", "name": "Ruff", "co": 8, "switched_from": 0, "switched_to": 0}, {"slug": "ty", "name": "ty", "co": 7, "switched_from": 0, "switched_to": 0}, {"slug": "pixi", "name": "pixi", "co": 6, "switched_from": 0, "switched_to": 0}, {"slug": "pytest", "name": "pytest", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 785200320, "item_id": 49075020, "url": "https://news.ycombinator.com/item?id=49075020", "by": "charliermarsh", "date": "2026-07-27", "stance": "recommend", "quote": "These are the Python distributions we use in uv (https://github.com/astral-sh/uv)", "excerpt": "These are the Python distributions we use in uv (https://github.com/astral-sh/uv), i.e., when you install Python with uv, you're installing from python-build-standalone. (Same goes for many of the other tools that can install Python for you, like pipx, Hatch, Poetry, Bazel, etc.) Most of our engineering time on the project over the past ~year and a half has been split into three buckets: 1. Keeping up with upstream C", "context": "works on uv", "use_case": "Python installation and packaging", "switched_from": "", "story": "Self-contained highly-portable Python distributions"}, {"id": 771710032, "item_id": 48231877, "url": "https://news.ycombinator.com/item?id=48231877", "by": "zanie", "date": "2026-05-21", "stance": "recommend", "quote": "(I work on uv)", "excerpt": "(I work on uv) As a note, you can set the default bounds for `uv add` in persistent configuration \u2014 no need to provide it every time. See https://docs.astral.sh/uv/reference/settings/#add-bounds We prefer not to add upper bounds by default because it causes a lot of unnecessary conflicts in the ecosystem. I previously collected some resources on this back when I used Poetry :) see https://github.com/zanieb/poetry-rel", "context": "works on uv", "use_case": "Python package management", "switched_from": "", "story": "Uv is fantastic, but its package management UX is a mess"}], "threads": [{"url": "https://news.ycombinator.com/item?id=49506142", "title": "uv: Deduplicate all files in the wheel cache", "mentions": 6}, {"url": "https://news.ycombinator.com/item?id=50172962", "title": "Bringing uv and ty together", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=48228788", "title": "Uv is fantastic, but its package management UX is a mess", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=47438723", "title": "Astral to Join OpenAI", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=46393992", "title": "How uv got so fast", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49088887", "title": "Uv 0.12.0", "mentions": 2}], "sentiment_by_month": {"2025-11": {"recommend": 5, "neutral": 2, "compare": 1}, "2025-12": {"warn": 1, "neutral": 2, "recommend": 4}, "2026-01": {"recommend": 6, "neutral": 1}, "2026-02": {"neutral": 1}, "2026-03": {"recommend": 5, "compare": 1, "neutral": 1}, "2026-04": {"recommend": 1, "warn": 1, "neutral": 1}, "2026-05": {"recommend": 3}, "2026-06": {"recommend": 2, "warn": 1}, "2026-07": {"neutral": 1, "recommend": 4}, "2026-08": {"recommend": 5, "neutral": 2, "compare": 1}, "2026-09": {"neutral": 2, "recommend": 2}, "2026-10": {"recommend": 5, "warn": 1}}, "quotes": [{"id": 803546752, "item_id": 50221672, "url": "https://news.ycombinator.com/item?id=50221672", "by": "miki123211", "date": "2026-10-24", "stance": "recommend", "quote": "uv is life-changing", "excerpt": "I am a Python programmer. I love Astral; I think Ruff is great and uv is life-changing, but I don't actually like ty that much. I want my type checker to check types and to scream at me when it can't. I don't want it to do \"gradual typing\", if it is unsure about what type something is, I want that to be a failure instead of it modeling the unsureness and not showing potential errors. We live in the age of agents, hav", "context": "Python programmer", "use_case": "Python package management", "switched_from": "", "story": "Bringing uv and ty together"}, {"id": 803525120, "item_id": 50220320, "url": "https://news.ycombinator.com/item?id=50220320", "by": "shevy-java", "date": "2026-10-24", "stance": "warn", "quote": "uv seems to be hyped a lot and I still do not understand why.", "excerpt": "I can't help it - this sounds not that exciting. Has the world shifted so much in the last years? I remember when I switched to Linux, many years ago, I worked through LFS (Linux from Scratch) within, say, one or two years. Back then that was kind of exciting; since then I expanded my own scripts for compiling or installing things, including versioned AppDirs, which to me are a lot more logical and elegant too. Why w", "context": "", "use_case": "", "switched_from": "", "story": "Bringing uv and ty together"}, {"id": 803521616, "item_id": 50220101, "url": "https://news.ycombinator.com/item?id=50220101", "by": "olive-n", "date": "2026-10-24", "stance": "recommend", "quote": "These days all my project use uv for project management and ruff for linting and formatting.", "excerpt": "The whole python tooling is experiencing kind of a renaissance with new Rust based tools taking over. These days all my project use uv for project management and ruff for linting and formatting. I believe there is no obvious default for type checking yet. I use whatever my IDE provides. So e.g. pylance in VSCode, which is build on pyright. There are currently pretty much 3 projects that I look out for: ty, zuban and ", "context": "", "use_case": "Python project management", "switched_from": "", "story": "Bringing uv and ty together"}, {"id": 803509120, "item_id": 50219320, "url": "https://news.ycombinator.com/item?id=50219320", "by": "assumed_throwaw", "date": "2026-10-24", "stance": "recommend", "quote": "I love Astral\u2019s tools", "excerpt": "I love Astral\u2019s tools, but I wonder why the CLI feels so fragmented. - Now, ty is integrated into uv, while ty is technically being part of ruff [1], but ruff is not integrated into uv. - The formatter is part of ruff, but uv also have an undocumented \"format\" command, which does not produce the same results. - Actually, ruff is integrated into uv, but you must call it through \"uv tool run ruff\". I guess I'd like \"uv", "context": "", "use_case": "Python tooling", "switched_from": "", "story": "Bringing uv and ty together"}, {"id": 803503616, "item_id": 50218976, "url": "https://news.ycombinator.com/item?id=50218976", "by": "matsemann", "date": "2026-10-24", "stance": "recommend", "quote": "Uv hasn't fixed all issues, but made it far less painful.", "excerpt": "Until uv, I used docker to run python projects locally. Got so fed up with venvs and versions and slowness and lack of wheels and spending so much time mucking around with it when cloning or updating a repo. Uv hasn't fixed all issues, but made it far less painful.", "context": "", "use_case": "running Python projects locally", "switched_from": "Docker", "story": "Bringing uv and ty together"}, {"id": 799803376, "item_id": 49987711, "url": "https://news.ycombinator.com/item?id=49987711", "by": "sieve", "date": "2026-10-07", "stance": "recommend", "quote": "Were it not for astral tooling like uv, I would have abandoned it in a few weeks.", "excerpt": "I have been using Python for the past two years for various things. But it is criminally slow. I joke that using Python on your modern 2020s CPU upgrades it to a Pentium 4 from 2004 running code compiled with C. And the 2004 version might still be faster. Yes, some of the syntax is nice. But the rest of it, the scoping rules, the obstinacy around the lambda syntax, the venv/pip nonsense, path resolution etc is a hot ", "context": "", "use_case": "Python package management", "switched_from": "", "story": "How Fast is Python 3.15?"}, {"id": 796066208, "item_id": 49754138, "url": "https://news.ycombinator.com/item?id=49754138", "by": "skeledrew", "date": "2026-09-18", "stance": "recommend", "quote": "uv offers a lot of actual valuable features and simplified some of my flows, so it's now my main Python project manager", "excerpt": "This sounds like my experience switching from conda to uv. The speed seriously blew my mind, and sometimes still does today. But then I think about the tradeoffs: I've encountered issues with uv-packaged Python because they've optimized the heck out of it, like a few months ago I was working with tkinter and things were failing hard on ways I couldn't understand, then I switched to conda for those projects and... thi", "context": "", "use_case": "Python project management", "switched_from": "conda", "story": "Flet 1.0 \u2013 Build cross-platform apps in Python"}, {"id": 795630992, "item_id": 49726937, "url": "https://news.ycombinator.com/item?id=49726937", "by": "PaulHoule", "date": "2026-09-16", "stance": "recommend", "quote": "So I am happy to have uv.", "excerpt": "Well Java has a kind of xenophobia that really resists bringing in foreign code but Python is at it's best when it accesses wrappers around C and Fortran. I used conda back in that period, it had a correct solver, and it was easy to manage my own packages, but it was slow in the technical sense of \"it takes forever to build an environment\" and slow in the business sense in that you got something curated which was not", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Java 27"}, {"id": 794951329, "item_id": 49684458, "url": "https://news.ycombinator.com/item?id=49684458", "by": "jjice", "date": "2026-09-13", "stance": "neutral", "quote": "I've standardized my config scripts on using language managers for those tools (go, cargo, uv)", "excerpt": "Always a joy to see security and performance as a big highlight on a release. Brew is notably slow compared to the other package managers I use, but never in an unbearable way. I've always used it on my Mac work machines, but always used my native package managers on Linux. What are the reasons to run homebrew on Linux? Better newer package support when you're on something slower moving like a Debian distro? I've sta", "context": "", "use_case": "tool installation", "switched_from": "", "story": "Homebrew 7.0.0"}, {"id": 793919762, "item_id": 49619985, "url": "https://news.ycombinator.com/item?id=49619985", "by": "JLO64", "date": "2026-09-09", "stance": "neutral", "quote": "I tried using that model for a uv/Python project", "excerpt": "Personally I can understand why these instructions were added. Back in the GPT-5 days I tried using that model for a uv/Python project but it consistently ran the wrong commands or used pip despite my instructions within AGENTS.md . This was because whatever uv features/behavior I was using was added after that model\u2019s cut off date. It got so bad that I switched to Claude which had a sooner knowledge cut-off. That sa", "context": "", "use_case": "Python project management", "switched_from": "", "story": "Codex silently begs agents to make arbitrary web requests"}, {"id": 792216080, "item_id": 49513505, "url": "https://news.ycombinator.com/item?id=49513505", "by": "tingletech", "date": "2026-08-31", "stance": "recommend", "quote": "I love `uv`", "excerpt": "Don't get me wrong, I love `uv` -- I mean as far as being \"the backbone of any modern Python library\" -- shouldn't any modern python library work with any packing system that follows the PEPs?", "context": "", "use_case": "Python packaging", "switched_from": "", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 792186464, "item_id": 49511654, "url": "https://news.ycombinator.com/item?id=49511654", "by": "tedivm", "date": "2026-08-31", "stance": "recommend", "quote": "I use it because it's smart enough to manage virtual environments for each environment and tool", "excerpt": "There are a ton of advantages to using uv over pip. I don't use UV because it's faster, although I do appreciate that. I use it because it's smart enough to manage virtual environments for each environment and tool, it can isolate to different python versions trivially, and it handles locking in a way that is actual sane.", "context": "", "use_case": "Python environments and locking", "switched_from": "pip", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 792156656, "item_id": 49509791, "url": "https://news.ycombinator.com/item?id=49509791", "by": "apple1417", "date": "2026-08-31", "stance": "neutral", "quote": "The one use I can give it is for running scripts with inline dependencies. I have found it a noticeable improvement over pipx there.", "excerpt": "I have never gotten the speed argument either. Yes it's noticeably faster - but in all my projects it's 1s vs 0.1s, not enough to make a meaningful difference. Even in their benchmarks, the worst number they ever give for pip is 7s [1] (and those numbers are 2+ years old, with python's improvements pip should be doing a little better now). I just can't say I've ever cared about installing dependencies, something you ", "context": "", "use_case": "running scripts with inline dependencies", "switched_from": "pipx", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 792146256, "item_id": 49509141, "url": "https://news.ycombinator.com/item?id=49509141", "by": "ForceBru", "date": "2026-08-31", "stance": "recommend", "quote": "I can use uv here and now to greatly simplify my workflows, so I use it.", "excerpt": "Well, it's fast. Perhaps \"they\" want me and everyone else unemployed, but it's not immediate and not particularly certain. However, I can use uv here and now to greatly simplify my workflows, so I use it.", "context": "", "use_case": "Python workflow tooling", "switched_from": "", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 792142689, "item_id": 49508918, "url": "https://news.ycombinator.com/item?id=49508918", "by": "rjzzleep", "date": "2026-08-31", "stance": "compare", "quote": "rather than this uv thing which is a lot of different things at once", "excerpt": "I think `pdm` is much nicer. I think if pdm had become a think earlier people would have switched from poetry to pdm rather than this uv thing which is a lot of different things at once.", "context": "", "use_case": "Python package management", "switched_from": "", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 792128000, "item_id": 49508000, "url": "https://news.ycombinator.com/item?id=49508000", "by": "dboreham", "date": "2026-08-31", "stance": "recommend", "quote": "it makes it very convenient to install directly from a git repository and then to subsequently update from same repository", "excerpt": "People say uv is good because it's fast, but honestly I don't care about that. We switched to using it for distribution of our Python-based tools because it makes it very convenient to install directly from a git repository and then to subsequently update from same repository. No need to build a package.", "context": "", "use_case": "distributing Python tools", "switched_from": "", "story": "uv: Deduplicate all files in the wheel cache"}, {"id": 792127189, "item_id": 49507949, "url": "https://news.ycombinator.com/item?id=49507949", "by": "mstaoru", "date": "2026-08-31", "stance": "neutral", "quote": "use uv - things like that.", "excerpt": "It is very difficult. I consider myself reasonably skilled in AI usage (multiple harnesses, skills, MCP, etc). I use only the latest models: Opus 5, GPT 5.6 Sol. I experiment with different plan-build-evaluate frameworks like GSD, OpenSpec, Superpowers. I have a reasonable AGENTS.md without much cruft: test coverage ~80%, ASD-STE100 English, use uv - things like that. I can churn out single-use scripts and micro-proj", "context": "", "use_case": "Python tooling", "switched_from": "", "story": "Why do I lose my passion and want to do nothing?"}, {"id": 791626704, "item_id": 49476669, "url": "https://news.ycombinator.com/item?id=49476669", "by": "LoganDark", "date": "2026-08-28", "stance": "recommend", "quote": "such as using `uv` for running Python when needed", "excerpt": "Just because it doesn't materially impact task success rates does not mean it's not useful. I use that file to give my agent information about the environment (operating system, architecture, command-line utilities I have installed), as well as how to do certain things (such as using `uv` for running Python when needed). I want my agent to work how I do, so I also tell it things like my preferred version control syst", "context": "", "use_case": "running Python", "switched_from": "", "story": "Your AGENTS.md file doesn't do anything"}, {"id": 785523984, "item_id": 49095249, "url": "https://news.ycombinator.com/item?id=49095249", "by": "drcongo", "date": "2026-07-29", "stance": "recommend", "quote": "I love uv, but man the ux needs some work.", "excerpt": "Still no `uv show` and still no homepage link in `uv pip show`. I love uv, but man the ux needs some work.", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv 0.12.0"}, {"id": 785451968, "item_id": 49090748, "url": "https://news.ycombinator.com/item?id=49090748", "by": "ethin", "date": "2026-07-28", "stance": "recommend", "quote": "it's nicer/easier to use uv pip", "excerpt": "Agreed, I'd prefer it stick around for the long-term because I use it when creating temporary venvs to screw around with things that I'm not certain about committing to in my actual projects for example. I guess I could do that with scripts but it's nicer/easier to use uv pip", "context": "", "use_case": "temporary venvs", "switched_from": "", "story": "Uv 0.12.0"}, {"id": 785260848, "item_id": 49078803, "url": "https://news.ycombinator.com/item?id=49078803", "by": "js2", "date": "2026-07-27", "stance": "recommend", "quote": "these self-contained Pythons which I use via uv", "excerpt": "It's definitely wrong for macOS. The python.org macOS download has been an installer package that installs Python to /Applications as long as I can remember. (That said, I've rarely used it, preferring either the macOS/Xcode-provided Python or these self-contained Pythons which I use via uv.)", "context": "", "use_case": "installing Python", "switched_from": "", "story": "Self-contained highly-portable Python distributions"}, {"id": 782077616, "item_id": 48879851, "url": "https://news.ycombinator.com/item?id=48879851", "by": "willx86", "date": "2026-07-12", "stance": "recommend", "quote": "I highly recommend UV", "excerpt": "I highly recommend UV If you find yourself forced to use python, UV is the way to go Try it out :) uv init uv add XXX uv run main.py ( You can pin python versions and auto install them etc )", "context": "", "use_case": "Python project and version management", "switched_from": "", "story": "Amber the programming language compiled to Bash/Ksh/Zsh"}, {"id": 781974464, "item_id": 48873404, "url": "https://news.ycombinator.com/item?id=48873404", "by": "Quothling", "date": "2026-07-11", "stance": "neutral", "quote": "We get UV to generate a requirements.txt", "excerpt": "We get UV to generate a requirements.txt and then use the Python and Pip which is available on the official Microsoft container images we use for Azure container apps once it hits production. I've never had any issues with the build system in development though.", "context": "deploys on Azure container apps", "use_case": "generating requirements.txt", "switched_from": "", "story": "Scarf has moved away from Haskell"}, {"id": 775043040, "item_id": 48440190, "url": "https://news.ycombinator.com/item?id=48440190", "by": "jchw", "date": "2026-06-07", "stance": "recommend", "quote": "other than `uv` and `ty`, I don't feel a whole lot has improved in Python land", "excerpt": "Aside from the LLM smell, the most egregious thing about this article to me is simply implying that it's going to be much of a surprise to people that PHP has improved since the \"fractal of bad design\" days. The most popular Hacker News post that matches \"php\" in HN Algolia is this post from 2019: https://stitcher.io/blog/php-in-2019 https://news.ycombinator.com/item?id=19917655 And while sentiment is understandably ", "context": "", "use_case": "Python tooling", "switched_from": "", "story": "Learn PHP in 2026 (Yes, Really)"}, {"id": 774645905, "item_id": 48415369, "url": "https://news.ycombinator.com/item?id=48415369", "by": "desipenguin", "date": "2026-06-05", "stance": "warn", "quote": "WSL2 + Windows filesystem + uv did not work well together.", "excerpt": "I did a similar workshop between Feb-April (1 hour zoom call on Wednesday, 3 hour hands-on in person every week) Most of the participants has Windows laptop. (Except one with Mac) We had suggested Linux on WSL2 and VSCode. (`uv` for python package management) But realized that we were spending a LOT of time fighting the tools/combination. WSL2 + Windows filesystem + uv did not work well together. For person with macO", "context": "ran an AI workshop", "use_case": "Python package management", "switched_from": "", "story": "Ask HN: What is your (AI) dev tech stack / workflow? (June 2026)"}, {"id": 773680624, "item_id": 48355039, "url": "https://news.ycombinator.com/item?id=48355039", "by": "circadian", "date": "2026-06-01", "stance": "recommend", "quote": "uv became a friend", "excerpt": "I can certainly appreciate the frustrations with newer elements of the language that introduce functionality, I was the same with typing in particular. That said, I came to realise two things: firstly the new elements in the language are not required to write idiosyncratic python the way I like and, secondly, they haven't fundamentally changed anything in the way Python operates as a language. Python has been around ", "context": "Python developer", "use_case": "Python package management", "switched_from": "", "story": "Am I too pessimistic about Python's future?"}, {"id": 771823984, "item_id": 48238999, "url": "https://news.ycombinator.com/item?id=48238999", "by": "black3r", "date": "2026-05-22", "stance": "recommend", "quote": "we just run `uv lock --upgrade` every 2 weeks through GH actions.", "excerpt": "We have 257 python dependencies in our production app (over half of them are direct dependencies). We don't have any upper bounds in our pyproject.toml and we just run `uv lock --upgrade` every 2 weeks through GH actions. We have good test coverage so if anything breaks the tests fail + we have AI assisted review process for this -> when GH action creates the upgrade PR, an AI workflow uses a python script to list ma", "context": "full stack dev", "use_case": "automated dependency upgrades", "switched_from": "", "story": "Uv is fantastic, but its package management UX is a mess"}, {"id": 771738624, "item_id": 48233664, "url": "https://news.ycombinator.com/item?id=48233664", "by": "drcongo", "date": "2026-05-22", "stance": "recommend", "quote": "I love uv for so many things, but updating dependencies to latest versions that are compatible with everything else in the project is so much more painful in uv than in poetry.", "excerpt": "Hard agree with this article. I love uv for so many things, but updating dependencies to latest versions that are compatible with everything else in the project is so much more painful in uv than in poetry. The fact that half the functionality is hidden behind `uv pip ...` or is incredibly odd as these days most people would never otherwise need `uv pip` at all. Possibly the most frustrating hidden command is `uv pip", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv is fantastic, but its package management UX is a mess"}, {"id": 768153745, "item_id": 48009609, "url": "https://news.ycombinator.com/item?id=48009609", "by": "bestony", "date": "2026-05-04", "stance": "recommend", "quote": "installing it with uv fits my workflow better", "excerpt": "This looks great! pyinfra will integrate better with my other code, and installing it with uv fits my workflow better. Thanks for the post. I'll give it a try. I think some of my Caprover initialization tasks could also be handled by pyinfra.", "context": "", "use_case": "installing Python tools", "switched_from": "", "story": "PyInfra 3.8.0 Is Out"}, {"id": 763698595, "item_id": 47731162, "url": "https://news.ycombinator.com/item?id=47731162", "by": "philipp-gayret", "date": "2026-04-11", "stance": "neutral", "quote": "then it can do `uv add {dependency}`", "excerpt": "> 1. What do you use the hooks for? I use hooks to automate decisionmaking (i.e. stronger permissions than a regex by parsing the bash) and similarly automate guidance. Our tooling is open source so here is an example: https://github.com/Devleaps/agent-policies-server/blob/master/policies/universal/gh.rego Another example is I whitelist dependencies based on the dependency age, for example a library needs to have bee", "context": "", "use_case": "Python dependency management", "switched_from": "", "story": "Reallocating $100/Month Claude Code Spend to Zed and OpenRouter"}, {"id": 763473185, "item_id": 47717074, "url": "https://news.ycombinator.com/item?id=47717074", "by": "evill33t", "date": "2026-04-10", "stance": "warn", "quote": "the acclaimed 10x more speed doesn't really matter for installing dependencies", "excerpt": "Because every few month a new hot package manager comes around that basically does nothing better then pip - the acclaimed 10x more speed doesn't really matter for installing dependencies and why should we use something that's not even written in python?", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Why Aren't We Uv Yet?"}, {"id": 763441584, "item_id": 47715099, "url": "https://news.ycombinator.com/item?id=47715099", "by": "stellalo", "date": "2026-04-10", "stance": "recommend", "quote": "you might come for the speed, but you stay because it works so well.", "excerpt": "One thing that is to be said about uv: you might come for the speed, but you stay because it works so well. The Python ecosystem used to be such a mess to manage, between Python versions, environments and so on: I haven\u2019t complained once about it since I use uv. To the point that I tend to distrust a Python project if it\u2019s not managed with uv, and anticipate all the dependency resolution issues that I will face.", "context": "", "use_case": "Python dependency and environment management", "switched_from": "", "story": "How Uv Works Under the Hood"}, {"id": 760129345, "item_id": 47508084, "url": "https://news.ycombinator.com/item?id=47508084", "by": "darkteflon", "date": "2026-03-24", "stance": "neutral", "quote": "whether uv has something similar, and indeed it does appear to", "excerpt": "We recently switched to pnpm, in part to guard against supply chain attacks (https://pnpm.io/supply-chain-security). Reading this got me wondering whether uv has something similar, and indeed it does appear to (https://docs.astral.sh/uv/reference/settings/#exclude-newer)", "context": "", "use_case": "Python package management", "switched_from": "", "story": "LiteLLM PyPI has been compromised an hour ago, do not update"}, {"id": 759692161, "item_id": 47480760, "url": "https://news.ycombinator.com/item?id=47480760", "by": "DHolzer", "date": "2026-03-22", "stance": "compare", "quote": "Sometimes I even prefer nix-shells over uv for quick one-off Python scripts.", "excerpt": "I switched over to Nix about a year ago. I was a Windows user before that for 30 years and tried Linux a couple of times, but it never stuck. Now I know I will never touch Windows again. With NixOS I've finally found a system that actually works for me \u2014 and the full OS configuration is in a repo. My god, I love it so much. Sometimes I even prefer nix-shells over uv for quick one-off Python scripts. I cannot sufficie", "context": "", "use_case": "Python scripts", "switched_from": "", "story": "Why I love NixOS"}, {"id": 759360960, "item_id": 47460060, "url": "https://news.ycombinator.com/item?id=47460060", "by": "ghshephard", "date": "2026-03-20", "stance": "recommend", "quote": "write the Python Environment Management tooling in rust - so that it could never footgun itself", "excerpt": "All of them (well - no HPUX in 15+ years, and I've never used uv in Solaris, or AIX) - but the major two client side environments that I use 'uv' in would be WSL2+Ubuntu/ext4 (work) and macOS/APFS at home. But - neither the speed nor constant issues with pip/virtualenvwrappers are really a function of the OS/File System. A frequent theme in this thread (probably most clearly described in https://news.ycombinator.com/", "context": "", "use_case": "Python environment management", "switched_from": "pip", "story": "Astral to Join OpenAI"}, {"id": 759140576, "item_id": 47446286, "url": "https://news.ycombinator.com/item?id=47446286", "by": "aanet", "date": "2026-03-19", "stance": "recommend", "quote": "I think it's one of the best tools around for Python ecosystem", "excerpt": "Uff. Reading all the comments made my head hurt. I love(d) `uv`. I think it's one of the best tools around for Python ecosystem... Therefore the pit in my tummy when I read this. Yes, congrats to the team and all that. I'm more worried about the long term impact on the ecosystem, as are almost everybody who dropped a comment here. My own thoughts echo somewhat what @SimonW wrote here [1] [1] https://simonwillison.net", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Astral to Join OpenAI"}, {"id": 759031184, "item_id": 47439449, "url": "https://news.ycombinator.com/item?id=47439449", "by": "time0ut", "date": "2026-03-19", "stance": "recommend", "quote": "I love uv and the other tooling Astral has built.", "excerpt": "I love uv and the other tooling Astral has built. It really helped reinvigorate my love for Python over the last year. Something like this was always inevitable. I just hope it doesn\u2019t ruin a good thing.", "context": "", "use_case": "Python tooling", "switched_from": "", "story": "Astral to Join OpenAI"}, {"id": 758735392, "item_id": 47420962, "url": "https://news.ycombinator.com/item?id=47420962", "by": "mmis1000", "date": "2026-03-17", "stance": "recommend", "quote": "Highly recommend if you are still on pip.", "excerpt": "Uv helps you up though. Use a pyproject.toml and uv sync. Everything will be put into the venv only, nothing spread across the whole system. The pyproject.toml can even handles build env for you, so you no longer need a setup.sh that installs 10 tool in specific order with specific flag to produce working environment. A single uv sync, and the job is done. Plus the result is reproducible, so if this time uv sync work", "context": "", "use_case": "reproducible Python environments", "switched_from": "pip", "story": "Unsloth Studio"}, {"id": 756955473, "item_id": 47309717, "url": "https://news.ycombinator.com/item?id=47309717", "by": "epogrebnyak", "date": "2026-03-09", "stance": "recommend", "quote": "switched to uv from poetry", "excerpt": "I just released an update to a command line utility that inspects PATH environment variable. It's in Python, switched to uv from poetry, added new color scheme with rich and made some change to the logic how symlinks are processed. https://github.com/epogrebnyak/justpath Also wrote a small clone in Rust, just to try the language: https://github.com/epogrebnyak/justpath.rs So far Python is easier for me, but I transfe", "context": "", "use_case": "Python packaging", "switched_from": "Poetry", "story": "Ask HN: What Are You Working On? (March 2026)"}, {"id": 752051200, "item_id": 47003200, "url": "https://news.ycombinator.com/item?id=47003200", "by": "simonw", "date": "2026-02-13", "stance": "recommend", "quote": "Run \"uv run pytest\"", "excerpt": "I don't use CLAUDE.md, I instead use simple token-efficient conventions. Most importantly all of my Python projects use a pyproject.toml file with this pattern: [dependency-groups] dev = [\"pytest\"] Which means I can tell the agent: Run \"uv run pytest\" And it will run the tests - without first needing to setup a virtual environment or install dependencies or anything like that. I wrote more about that pattern here: ht", "context": "", "use_case": "running tests without environment setup", "switched_from": "", "story": "I asked Claude Code to remove jQuery. It failed miserably"}, {"id": 746984929, "item_id": 46686558, "url": "https://news.ycombinator.com/item?id=46686558", "by": "kingkongjaffa", "date": "2026-01-19", "stance": "recommend", "quote": "uv solved packaging.", "excerpt": "Ruff solved python formatting and linting. uv solved packaging. Both were better in terms of user ergonomics and also much faster that what we used before, black, mypy, pylint etc. IDK it Typescript is too generic but TS made me think of javascript as a proper language and not something just to do silly little animations on websites for. Types unlock proper data modeling and application code to me. Figma and Figjam a", "context": "", "use_case": "Python packaging", "switched_from": "", "story": "Ask HN: What non-LLM tools have meaningfully improved your dev productivity?"}, {"id": 745870368, "item_id": 46616898, "url": "https://news.ycombinator.com/item?id=46616898", "by": "sebtron", "date": "2026-01-14", "stance": "recommend", "quote": "I definitely appreciate a 16x speedup if possible.", "excerpt": "> Are people making user facing apps in rust with uis? We are talking not only about Rust, but also about C and C++. There are lots of C++ UI applications. Rust poses itself as an alternative to C++, so it is definitely intended to be used for UI applications too - it was created to write a browser! At work I am using tools such as uv [1] and ruff [2], which are user-facing (although not GUI), and I definitely apprec", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Is Rust faster than C?"}, {"id": 742576320, "item_id": 46411020, "url": "https://news.ycombinator.com/item?id=46411020", "by": "roelschroeven", "date": "2025-12-28", "stance": "recommend", "quote": "experience its speed and other useful features that you fully get why so many people switch from pip or poetry", "excerpt": "I feel this is somewhat similar to something Linus Torvalds once said about the faster merges git brought to his workflow: \"That's the kind of performance that actually changes how you work. It's no longer doing the same thing faster, it's allowing you to work in a completely different manner. That is why performance matters and why you really should not look at anything but git. Hg (Mercurial) is pretty good, but gi", "context": "", "use_case": "Python venvs and package installs", "switched_from": "pip", "story": "How uv got so fast"}, {"id": 742340000, "item_id": 46396250, "url": "https://news.ycombinator.com/item?id=46396250", "by": "andy99", "date": "2025-12-26", "stance": "neutral", "quote": "I remain baffled about these posts getting excited about uv\u2019s speed.", "excerpt": "I remain baffled about these posts getting excited about uv\u2019s speed. I\u2019d like to see a real poll but I personally can\u2019t imagine people listing speed as one of the their top ten concerns about python package managers. What are the common use cases where the delay due to package installation is at all material? Edit to add: I use python daily", "context": "uses Python daily", "use_case": "Python package management", "switched_from": "", "story": "How uv got so fast"}, {"id": 732506688, "item_id": 45781668, "url": "https://news.ycombinator.com/item?id=45781668", "by": "vanous", "date": "2025-11-01", "stance": "recommend", "quote": "I love using uv and would be supper happy if it allowed me not only to add and remove", "excerpt": "I love using uv and would be supper happy if it allowed me not only to add and remove uv add package uv remove package But also to upgrade a package and upgrade all packages in the pyproject.toml . The uv sync --upgrade can already do this in uv.lock , but not in pyproject.toml", "context": "", "use_case": "Python package management", "switched_from": "", "story": "Uv is the best thing to happen to the Python ecosystem in a decade"}]}