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

Discuss uv and add it to the website. #419

Closed
samcunliffe opened this issue Jun 13, 2024 · 6 comments · Fixed by #464
Closed

Discuss uv and add it to the website. #419

samcunliffe opened this issue Jun 13, 2024 · 6 comments · Fixed by #464
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request website Related to https://github-pages.arc.ucl.ac.uk/python-tooling

Comments

@samcunliffe
Copy link
Member

Which Section of the Documentation Needs Improving?

We should decide on a traffic light for uv and add it to the appropriate doc page.
In case we decide 🟢, we should add it to the template and update docs accordingly.

What Can be Improved About This Section

Add uv. Feels like it's at least an amber 🟠.

How to Improve This Section

No response

@samcunliffe samcunliffe added documentation Improvements or additions to documentation enhancement New feature or request website Related to https://github-pages.arc.ucl.ac.uk/python-tooling labels Jun 13, 2024
@paddyroddy
Copy link
Member

I'm using it and it is super quick. I was using https://github.com/tox-dev/tox-uv, but it was very buggy, not sure if that was tox-uv's fault or uv's, so I removed it from my CI for now.

samcunliffe added a commit that referenced this issue Sep 5, 2024
Solves #443. Deliberately does not address #419. Even if we decide to
recommend `uv` over `conda-forge` we want to make the distinction.
dstansby added a commit that referenced this issue Sep 5, 2024
## Solves 
- #443. 

Deliberately does not address 
 - #419. 
 
Even if we decide to recommend `uv` over `conda-forge` we want to make
the distinction.

Picky comments about language and clarity very gratefully received.

---------

Co-authored-by: David Stansby <[email protected]>
Co-authored-by: David Pérez-Suárez <[email protected]>
@samcunliffe
Copy link
Member Author

samcunliffe commented Oct 22, 2024

Notes from hackmorning 2024-10-22

  • Note: We should also add pixi as 🟠.

Discussion

The "problem" with uv is that it does more than one thing.

  1. A drop-in replacement for pip.
  2. A replacement virtual environment manager uv venv (using venv syntax).
  3. A project installation dependency thing (replacement for e.g. setuptools.. more similar to pipfile).

Relating to venv

  • venvs per project. So @dstansby 's preference for a central place for all virtual environments is already broken by venv.
  • uv may give the option to put all of the environments in a central place uv/#1495
  • Style choice?

Research computing people (@heatherkellyucl @ikirker 👋) strongly discourage conda on UCL-ARC clusters. So we should move away from recommending it.

Summary

If you're new to the game you should use uv. If you prefer conda, maybe pixi is faster, but you're not new to the game. And we're targeting noobs.

Decisions

We will replace conda create etc commands in our readmes and instructions with uv equivalent commands.

  • Our cookiecutter template doesn't have a workflow to publish via conda-forge despite us advocating the conda tool.
    • This is no different from recommending uv venv but not using the full-blown uv project mechanics.

Add uv to the virtual environments page as amber with a caveat that it will likely become green when some feature requests are ironed out..

@paddyroddy
Copy link
Member

@paddyroddy
Copy link
Member

Could change the installation command to

uvx cookiecutter gh:UCL-ARC/python-tooling --checkout latest

@samcunliffe
Copy link
Member Author

samcunliffe commented Oct 24, 2024

Could change the installation command to

uvx cookiecutter gh:UCL-ARC/python-tooling --checkout latest

Yeah. See Matt's suggestion on my PR.

Shall we make a new issue? I also think we could simplify the instructions a bit. And perhaps they should be above the avatars?
Could be tackled all in one along with

@paddyroddy
Copy link
Member

Yeah maybe, it does seem a nice one liner for newbies

samcunliffe added a commit that referenced this issue Nov 4, 2024
I've attempted to simplify the user-facing quick-start instructions. Not
a huge fan of enumerated instructions and the optional (but cool)
one-liner it doesn't really fit in 1. 2. 3....

Also it's a bit overkill to have a venv/conda environment just for
cookiecutter itself. The cookiecutter docs recommend `pipx install`. I
claim that we want to encourage `uvx` because it's fast and cool 😎 .

I've spent a bit of effort trying to be clear but comments on clarity
etc are very welcome.

I also moved and merged the dev instructions into CONTRIBUTING so README
is _**just**_ user-facing. And CONTRIBUTING is just dev.

This addresses
- #466 

And two comments
-
#464 (comment)
-
#419 (comment)

---------

Co-authored-by: David Stansby <[email protected]>
Co-authored-by: Patrick J. Roddy <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request website Related to https://github-pages.arc.ucl.ac.uk/python-tooling
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants