• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 25403572905
93%

Build:
DEFAULT BRANCH: main
Ran 05 May 2026 09:45PM UTC
Jobs 12
Files 1737
Run time 4min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 May 2026 09:34PM UTC coverage: 92.915% (-0.03%) from 92.944%
25403572905

push

github

web-flow
Support for uv lockfiles as an alternative to pex lockfiles (#23302)

uv lockfiles are first-class entities that users check in.
When a pex is needed, we use uv to create a venv, which
it does very efficiently, and then use pex's
`--venv-repository` feature to build a pex from
(a subset of) that venv's requirements.

Note that we still create VenvPexes to run tools, and
in some cases this might be unnecessary, since we
already have the uv venv. But utilizing those venvs 
directly would be an even bigger change (and this one
is already massive), and there are caching tradeoffs
to figure out . So we leave that for the future (and
probably for the new python  backend).

Note also that the dynamics of lockfile generation remain
pants's (you must generate explicitly) and not uv's
(lockfiles are automatically updated for you when
input requirements change). The latter is desirable, but
again this is for the future.

The general thrust of the changes is:

- Add uv as a third lockfile format (after pex and the deprecated
  legacy constraints file "locking")
- Update the lockfile metadata to include the format (and
  also the name of the resolve that created the lockfile).
- Make lockfile metadata reading much more robust 
  and useful, so we can get the format from it reliably.
  Unfortunately this logic is tricky since it has to handle
  pex lockfiles both with and without separate metadata files.
  For uv we simply require separate metadata files and do
  not add any metadata inside the lockfile itself, as we
  foolishly did for pex lockfiles at one point.
- Update the lockfile diffing code to support diffing
  across all combinations of old/new and pex/uv.
- Update the existing `uv` subsystem for more general use.
- Add src/python/pants/backend/python/util_rules/uv.py, 
  which runs `uv`, first generating ephemeral pyproject.toml
  and uv.toml config files. We handle environments correctly, 
  which requires some `realpath` shenanigans.
- Update some iffy ... (continued)

443 of 505 new or added lines in 23 files covered. (87.72%)

92171 of 99199 relevant lines covered (92.92%)

4.04 hits per line

Uncovered Changes

Lines Coverage ∆ File
26
61.9
-19.45% src/python/pants/backend/python/util_rules/lockfile_diff.py
11
94.26
-2.84% src/python/pants/backend/python/util_rules/pex_requirements.py
9
88.52
-1.4% src/python/pants/backend/python/goals/lockfile.py
8
87.65
-4.18% src/python/pants/backend/python/subsystems/python_tool_base.py
3
96.85
0.23% src/python/pants/backend/python/util_rules/pex.py
3
96.15
src/python/pants/backend/python/util_rules/uv.py
1
98.18
-1.82% src/python/pants/backend/python/subsystems/uv.py
1
91.67
-0.64% src/python/pants/core/util_rules/lockfile_metadata.py
Jobs
ID Job ID Ran Files Coverage
1 test_python_linux_x86_64_8/10 - 25403572905.1 05 May 2026 09:52PM UTC 1194
53.53
GitHub Action Run
2 test_python_linux_x86_64_3/10 - 25403572905.2 05 May 2026 09:50PM UTC 1191
53.88
GitHub Action Run
3 test_python_linux_x86_64_2/10 - 25403572905.3 05 May 2026 09:47PM UTC 1194
58.65
GitHub Action Run
4 test_python_linux_arm64 - 25403572905.4 05 May 2026 09:51PM UTC 1175
52.32
GitHub Action Run
5 test_python_linux_x86_64_4/10 - 25403572905.5 05 May 2026 09:55PM UTC 1226
59.52
GitHub Action Run
6 test_python_linux_x86_64_6/10 - 25403572905.6 05 May 2026 09:46PM UTC 1187
49.52
GitHub Action Run
7 test_python_linux_x86_64_0/10 - 25403572905.7 05 May 2026 09:50PM UTC 1211
56.73
GitHub Action Run
8 test_python_linux_x86_64_1/10 - 25403572905.8 05 May 2026 09:50PM UTC 1190
49.19
GitHub Action Run
9 test_python_linux_x86_64_5/10 - 25403572905.9 05 May 2026 09:47PM UTC 1206
59.64
GitHub Action Run
10 test_python_macos14_arm64 - 25403572905.10 05 May 2026 09:45PM UTC 1175
52.33
GitHub Action Run
11 test_python_linux_x86_64_7/10 - 25403572905.11 05 May 2026 09:53PM UTC 1197
51.3
GitHub Action Run
12 test_python_linux_x86_64_9/10 - 25403572905.12 05 May 2026 09:48PM UTC 1202
54.04
GitHub Action Run
Source Files on build 25403572905
  • Tree
  • List 1737
  • Changed 26
  • Source Changed 24
  • Coverage Changed 24
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25403572905
  • bdfc95dc on github
  • Prev Build on main (#25400041888)
  • Next Build on main (#25404098001)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc