Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support the uv package manager #248

Open
edmorley opened this issue Aug 27, 2024 · 3 comments
Open

Support the uv package manager #248

edmorley opened this issue Aug 27, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@edmorley
Copy link
Member

edmorley commented Aug 27, 2024

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 once uv's project management/sync features have stabilised):
https://docs.astral.sh/uv/
https://astral.sh/blog/uv-unified-python-packaging

Potential blockers:

GUS-W-17141085.

@edmorley edmorley added the enhancement New feature or request label Aug 27, 2024
@edmorley
Copy link
Member Author

edmorley commented Sep 3, 2024

astral-sh/uv#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.

@edmorley
Copy link
Member Author

edmorley commented Sep 11, 2024

Adding support for uv will also increase the priority for doing #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.

@edmorley
Copy link
Member Author

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! 😂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant