posit-dev / posit-dev/positron

python: replace remaining pip install code with `uv`

Open
#6,929 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ci-cd lang: python
Dominant language
TypeScript
Stars
4.3k
Forks
184
Avg merge
1d 9h
Merged PRs (30d)
195

Description

We still use pip install during building here:

We could save some time during building by switching to uv pip install.

The main complication is https://github.com/astral-sh/uv/issues/6246 because it's important that we use implementation-agnostic wheels. We could look into using uv pip compile --universal when generating the requirements files, or implement some logic in pip-compile-ipykernel.py (or elsewhere) that filters out the hashes of non-agnostic wheels, so that the installer doesn't have to worry about it.

See also: https://github.com/posit-dev/positron/pull/6797#discussion_r1998795265

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the pip install calls in extensions/positron-python/gulpfile.js and scripts/vendor.py, then read scripts/pip-compile-ipykernel.py and the linked uv issue. Determine how requirements are generated and how implementation-agnostic wheels are preserved. Done means build-time installation uses uv without selecting non-agnostic wheels.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.