Open edmorley opened 3 months ago
https://github.com/astral-sh/uv/pull/6834 has just merged (not yet released, but will be soon), which adds support for UV_PROJECT_ENVIRONMENT
to uv sync
, allowing control of the venv location - which was one of the blockers I'd noticed for uv support so far.
There's also the matter of uv still having very frequent releases and occasional breaking changes/regressions (not surprising given that the uv sync
feature is still only 2 weeks old) - we'll need to decide at which point it's stable enough that we won't be breaking users of the CNB every time we update it.
Adding support for uv will also increase the priority for doing https://github.com/heroku/buildpacks-python/issues/271, since uv defaults to storing venvs inside the project directory (unlike Poetry or Pipenv), which will mean that users are much more likely to accidentally either (a) git commit their local venv to the repo (which means it will be included for git push heroku main
etc), (b) include the venv in a locally run pack build
due to not knowing about project.toml
's exclude
.
Cross-linking:
Btw the more thumbs up I can get on all the uv-related GitHub issues the easier it will be to make a case for it during internal team planning - so please everyone who is interested in uv support add a 👍 to all the things! 😂
The Python package manager
uv
is looking extremely promising (and quite likely to supersede Poetry and Pipenv), so we should add support for it (after we add Poetry support, and onceuv
's project management/sync features have stabilised): https://docs.astral.sh/uv/ https://astral.sh/blog/uv-unified-python-packagingPotential blockers:
GUS-W-17141085.