Commit Graph
7 Commits
Author SHA1 Message Date
9c7332190c fix: allow whitespace in uv requirement specifiers (#1112)
## Summary

When the uv version is read from dependencies (`requirements.txt`, or
`project.dependencies` / `optional-dependencies` / `dependency-groups`
in `pyproject.toml` via `version-file`), the specifier was matched with
`/^uv([=<>~!]+\S*)/`. PEP 508 allows whitespace around operators and
after commas, and those valid forms were misread:

| dependency | before | after |
|---|---|---|
| `uv >= 0.5.0` | not found, latest uv installed | `>=0.5.0` |
| `uv == 0.11.20` | not found, latest uv installed | `==0.11.20` |
| `uv>=0.5.0, <0.6.0` | `>=0.5.0,`, fails with `No version found for
>=0.5.0,` | `>=0.5.0,<0.6.0` |

The regex now allows whitespace around operators and between
comma-separated clauses, and strips it from the result. Inputs that
worked before give the same result, including inline `--hash=` options,
trailing ` # comments`, the `\` continuation lines from `uv pip compile
--generate-hashes`, and names that only start with `uv` (`uvicorn`,
`uv-build`).

## Test plan

- Added cases for spaced operators, spaced clauses, inline `--hash` and
trailing comments. The four whitespace cases failed before the change.
- `npm run all` on Ubuntu (WSL) with Node 24.19.0: build, Biome (no
fixes), packaging, and 165 tests across 15 suites pass. The rebuilt
`dist/setup/index.cjs` only differs in the changed line.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:37:03 +01:00
Kevin StillhammerandGitHub d31148d669 Strip environment markers from detected uv dependency pins (#938)
## Summary
- strip PEP 508 environment markers before extracting uv versions from
dependency entries
- cover dependency-group pins with and without whitespace before the
marker
- cover requirements-style pins with markers

Fixes #920

## Validation
- npm ci --ignore-scripts
- npm run all

Refs: pi-session 019f316a-4108-7975-892f-ee5bf8abc7c3
2026-07-05 10:47:17 +02:00
Kevin StillhammerandGitHub cdfb2ee6dd Refactor version resolving (#852) 2026-04-11 11:38:41 +02:00
Kevin StillhammerandGitHub 4109b4033f Bump biome to v2 (#515) 2025-08-12 20:12:10 +00:00
axm2GitHubaxm2 <>
43f37368c9 Ignore backslashes and whitespace in requirements (#501)
setup-uv gets confused when there are backslashes in `requirements.txt`.
This changes the regex to ignore backslashes.

---------

Co-authored-by: axm2 <>
2025-07-26 13:19:52 +00:00
Kevin StillhammerandGitHub 7edac99f96 Ignore deps starting with uv when finding uv version (#492)
Fixes: #489
2025-07-18 06:10:43 +00:00
Kevin StillhammerandGitHub b75ff7d7b8 Add input version-file (#486)
Closes: #411
2025-07-17 20:22:18 +02:00