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

Experiment with uv #90

Open
colindean opened this issue Nov 4, 2024 · 0 comments
Open

Experiment with uv #90

colindean opened this issue Nov 4, 2024 · 0 comments

Comments

@colindean
Copy link
Contributor

uv is fast rising in popularity. It's written by Astral, the same folks behind ruff.

It does everything that Poetry does when combined with pyenv for Python installation, although its Python or even pyenv's may not be suitable for production use.

This experimentation should try swapping out poetry + pyenv in the Makefile to see what changes would be necessary.

I would not consider a wholesale switch until uv is 1.0.0, at which time I'd consider it with the values of

  • first-time setup performance

  • package installation performance (cold cache)

  • package update performance (hot cache)

  • availability of tooling replacements, e.g. diff-poetry-lockfile in our GitHub workflows

    # This will post a comment on PRs when poetry.lock changes
    - name: Diff poetry.lock
    uses: nborrmann/diff-poetry-lock@c0afd3666864cec339f03ee5c5cf9cb671780c12

  • minimization of helper tasks e.g. poetry-venv-implode.

    make-python-devex/Makefile

    Lines 314 to 316 in 669a039

    .PHONY: poetry-implode-venv
    poetry-implode-venv: ## Destroys the Poetry-managed virtualenv
    sleep 2 && rm -rf $$($(POETRY) env info --path)

  • lockfile improvements (e.g. standardization track vs bespoke, diff-able, etc.)

  • others TBD

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

No branches or pull requests

1 participant