Skip to content
Open

Add uv #2023

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions source/key_projects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -827,6 +827,19 @@ scientific applications on clusters and supercomputers.
Spack is not in PyPI (yet), but it requires no installation and can be
used immediately after cloning from GitHub.

.. _uv:

uv
==

`Docs <https://docs.astral.sh/uv/>`__ |
`GitHub <https://github.com/astral-sh/uv>`__ |
`PyPI <https://pypi.org/project/uv/>`__

A Python package and project manager, written in Rust for high performance. It
Copy link
Copy Markdown
Member

@webknjaz webknjaz Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like it fits the definition of a workflow tool more (it's actually listed as such @ https://packaging.python.org/en/latest/guides/tool-recommendations/#workflow-tools). Perhaps, this should just say it's a workflow tool at the beginning and being a package/project manager/interpreter installer could be a part of the list of things in the last sentence?

cc @woodruffw @henryiii

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fine with me. We don't use that terminology in the uv documentation, but it seems well defined here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's kind of everything except a task runner, which is what I think I'd define as a key part of a workflow tool. You can get away without setting up tasks (much of the time uv run pytest works out-of-the-box in most projects I work on).

Nox/tox/poe/pixi don't seem to be listed here at all, so there's not much to compare with, I think that's what would come to mind for "workflows". In the workflow list, I do see Pipenv, that doesn't have tasks. I don't think flit does either. Poetry does have poe, so maybe. uv is not in that list, by the way, maybe that should be added here too?.

Given that list is pretty general, I think calling it a workflow tool is also fine, but it's also a package and project manager, and I'd say that fits a little better than "workflow", especially without task support. +/- 0.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that list is kinda loosely defined. Other entries in this document also seem to focus more on what the projects do rather than how they're implemented. And so I'm struggling to formalize why this seems to stand out writing style-wise.

supports creating and managing virtual environments, installing packages,
locking dependencies, and managing Python versions and projects.

.. _zestreleaser:

zest.releaser
Expand Down