Astral Blog
astral.sh · Company blog · on HN since 2023
Astral, the company behind the Python tools uv and Ruff, writes about Python packaging, tooling releases, and open source security.
What HN saysHN commenters recommend uv as the starting point for Python projects, discuss its install script and business model, and note Astral took over Rye.
71HN people shared it
48linked it in comments
31stories submitted
3.2Kstory points
3 months agolast shared
2023people per year2026
Most-shared posts
- 1Uv: Python packaging in Rust8 people · 647 points · first shared 2024 · 210 comments on HN
- 2PYX: The next step in Python packaging7 people · 768 points · first shared 2025 · 464 comments on HN
- 3Uv 0.3 – Unified Python packaging6 people · 212 points · first shared 2024 · 57 comments on HN
- 4Announcing Astral, the company behind Ruff6 people · 7 points · first shared 2023 · discussion on HN
- 5Install.sh6 people · first shared 2025
- 6Pyx6 people · first shared 2025
- 7Astral4 people · 219 points · first shared 2023 · 57 comments on HN
- 8Open Source Security at Astral4 people · 28 points · first shared 2026 · discussion on HN
- 9Installing PyTorch with hardware detection via a variant-enabled build of uv4 people · 2 points · first shared 2025 · discussion on HN
- 10About4 people · first shared 2024
- 11A new home for Python-build-standalone3 people · 117 points · first shared 2024 · 34 comments on HN
- 12Announcing the Beta release of ty2 people · 846 points · first shared 2025 · 176 comments on HN
- 13Astral to Join OpenAI2 people · 198 points · first shared 2026 · 62 comments on HN
- 14Ruff v0.16.0 – Significant new updates – 413 default rules up from 592 people · 22 points · first shared 2026 · 2 comments on HN
- 15Ruff v0.4.0: a hand-written recursive descent parser for Python2 people · 11 points · first shared 2024 · discussion on HN
What HN people wrote when they linked it
nindalf · 2024-04-12
It’s worth calling out that it’s still early days for Rye. The ownership recently transitioned from Armin Ronacher to the team that develops ruff (https://astral.sh). No doubt limitations exist today, but it’s going to look a lot more like cargo as they put out more releases.
golem14 · 2025-10-30
""" uv is straightforward to install. There are a few ways, but the easiest (in my opinion) is this one-liner command — for Linux and Mac, it’s:
curl -LsSf https://astral.sh/uv/install.sh | sh """
Also isn't great. But that's how homebrew is installed, so ... shrug ... ?
Not to bash uv/homebrew, they are better than most _easy_ alternatives.
hiAndrewQuinn · 2025-02-19
Naive take. https://gwern.net/holy-war counsels that, in fact, becoming the One True Package Manager for a very popular programming language is an extremely valuable thing to aim towards. This is even outside of the fact that `uv` is backed by a profit-seeking company (cf https://astral.sh/about). I'm all for people choosing what works best for them, but I'm also staunchly pro-arguing over it.
extr · 2024-09-02
At this point I would highly highly recommend uv as the starting point for stuff like this. As of the 0.3.0 release it now handles installing python for you as well as all the regular pip stuff and venv management/setup.
https://astral.sh/blog/uv-unified-python-packaging
scoresmoke · 2024-07-09
Ruff and uv are both excellent tools, which are developed by a VC-backed company, Astral: https://astral.sh/about. I wonder what their pitch was.
pen2l · 2024-07-09
Worth noting that the uv folks (https://astral.sh/blog/uv) have taken over reins from this Armin project.
mc10 · 2024-06-08
uv is a great drop-in replacement for pip: https://astral.sh/blog/uv
eddyg · 2023-10-31
I’m thinking https://astral.sh/ are going to be the ones to “solve” this.
rat87 · 2025-03-12
The reason there have been so many is because the standard included tools (pip, venv) are not great. And others could still use improvements.
Venv and setup tools aren't really package managers. Pipx is only meant for installing Dev tools per user (in isolated Venvs).
pyenv does something a bit different from those tools you listed(maybe it'd part of cones I haven't tried it). Its not a dependency manager its a python version manager like nvm (node version manager). It helps you manage downloading and compiling python from source and it let's you specify python version in a .python-version file and provides a shim to find the right python for a project(compiling it if its not already available).
I tried pipenv and despite being hyped for it, it had a lot of issues. Then I tried poetry which seemed much better but was still sort of slow and got stuck updating lock files sometimes.
I haven't even tried pdm. Or various conda package managers since its mainly used by scientists with lots of binary dependency needs.
Then ~~uv~~ rye came along and seemed to fix things. It replaced pip+pip tools/pipenv/poetry. Also replaced pipx(install python tools in isolated venvs then add it to users ./local/bin). Also replaced pyenv but instead of compiling python which takes a while and can be troublesome it downloads portable builds https://astral.sh/blog/python-build-standalone (which do have some downsides/compatibility issues but are usually better then compiling python). It was…
junkblocker · 2026-05-23
Here's something I ran into recently. An `env` script started showing up in my path messing with my plain UNIX `env` command usage. Turns out uv's installer creates this when you run
curl -LsSf https://astral.sh/uv/install.sh | sh
1202│ # In this case we need to:¬
1203│ #¬
1204│ # * Install to $HOME/.cargo/bin/¬
1205│ # * Create a shell script at $HOME/.cargo/env that:¬
1206│ # * Checks if $HOME/.cargo/bin/ is on PATH¬
1207│ # * and if not prepends it to PATH¬
1208│ # * Ed
What kind of programmers are writing this stuff overriding my default unix commands with this?
colesantiago · 2026-03-19
It was because Astral was VC funded.
https://astral.sh/blog/announcing-astral-the-company-behind-ruff
woodruffw · 2026-03-19
You can find some resources on our strategy in previous blog posts, like this one on pyx[1].
[1]: https://astral.sh/blog/introducing-pyx
danielhanchen · 2026-03-18
Apologies on the delay - we fixed it! Please re-try with:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv unsloth_studio
source unsloth_studio/bin/activate
uv pip install unsloth --torch-backend=auto
unsloth studio setup
unsloth studio -H 0.0.0.0 -p 8888
amanzi · 2025-12-17
"pyx" is their first commercial offering: https://astral.sh/pyx
I agree though. Hope this is successful and they keep building awesome open-source tools.
rkagerer · 2025-10-30
This looks awesome.
But why is it the Windows installation is to execute a script off the Internet with bypassed security isolations?
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
palata · 2025-10-30
> curl -LsSf https://astral.sh/uv/install.sh | sh
"Just pipe a random script from the internet into your shell! What could possibly go wrong?"
collinmanderson · 2025-10-29
They plan on making money by running private package registries, rather than making money on the client. https://astral.sh/pyx
tabletcorry · 2025-10-29
Take a look at their upcoming product Pyx to see where revenue can start to come in for paid/hosted services.
https://astral.sh/pyx
karlding · 2025-10-29
I'm not sure if you're aware, but there's the Wheel Variants proposal [0] that the WheelNext initiative is working through that was presented at PyCon 2025 [1][2], which hopes to solve some of those problems.
uv has implemented experimental support, which they announced here [3].
[0] https://wheelnext.dev/proposals/pepxxx_wheel_variant_support/
[1] https://us.pycon.org/2025/schedule/presentation/100/
[2] https://www.youtube.com/watch?v=1Oki8vAWb1Q
[3] https://astral.sh/blog/wheel-variants
pityJuke · 2025-10-06
What is Spinel? Astral is the developer of uv, and they have announced their hosted platform service, pyx [0]. It appears it will be FOSS as well, but they'll have a hosted version of it.
[0]: https://astral.sh/blog/introducing-pyx
ashvardanian · 2025-09-11
Related, but wasn’t broadly discussed on HN: https://astral.sh/blog/wheel-variants
BiteCode_dev · 2025-08-28
uv uses very agressive caching (https://docs.astral.sh/uv/concepts/cache/) but pytorch has many, many different combinations of packages for the same release.
It's not uncommon to have to download pytorch many times, because some lib may specify one slightly different version than another: https://docs.astral.sh/uv/guides/integration/pytorch/#configuring-acce…
pytorch causes many headaches in the ecosystem, and a better handling of it is one thing their commercial offering, pyx, wants to fix: https://astral.sh/blog/introducing-pyx
nikisweeting · 2025-08-21
fwiw `ruff format` includes nearly all the black rules by default / supports a superset of black's options https://astral.sh/blog/the-ruff-formatter
notatallshaw · 2025-08-13
Probably the more useful blog post: https://astral.sh/blog/introducing-pyx
rkangel · 2025-05-28
The announcement talked about selling services built on top of the tools: https://astral.sh/blog/announcing-astral-the-company-behind-ruff
zanie · 2025-05-08
The plan remains the same as when the company was announced (https://astral.sh/blog/announcing-astral-the-company-behind-ruff#whats… — paid services that build on and integrate with the free tooling.
godelski · 2025-04-23
This is awesome!
Is there uv support?[0]
One of my biggest gripes about brew is how they manage dependencies. The devs have a conflicting philosophy that creates bloat. Package maintainers must define settings, settings should always use the latest Python version. It makes no sense. Maintainers won't update unless things break so you got a bunch of Python versions running around. And it won't use system Python!
Uv seems to provide an elegant solution for this. You can build a venv for each package and rust version will only have the specified deps. Since uv finds all your Python instances (and packages) and soft links them you have way less bloat and venvs become really useful. You can also use run and other tools to handle executables
Plus is also rust so good synergy ;)
[0] https://astral.sh/blog/uv
oulipo · 2025-03-28
well you can just give her the `./install_uv.sh && ./run_script.sh` command, eg
`( curl -LsSf https://astral.sh/uv/install.sh | sh ) && ./run_script.sh`
mwarkentin · 2025-01-22
Terretta · 2024-11-03
For a variety of reasons this season is a good time to look at `uv`.
See this by the author of Rye:
https://lucumr.pocoo.org/2024/8/21/harvest-season/
"Unified" packaging:
https://astral.sh/blog/uv-unified-python-packaging