uv/docs/concepts
Charlie Marsh f67347e72c
Allow multiple source entries for each package in tool.uv.sources (#7745)
## Summary

This PR enables users to provide multiple source entries in
`tool.uv.sources`, e.g.:

```toml
[tool.uv.sources]
httpx = [
  { git = "https://github.com/encode/httpx", tag = "0.27.2", marker = "sys_platform == 'darwin'" },
  { git = "https://github.com/encode/httpx", tag = "0.24.1", marker = "sys_platform == 'linux'" },
]
```

The implementation is relatively straightforward: when we lower the
requirement, we now return an iterator rather than a single requirement.
In other words, the above is transformed into two requirements:

```txt
httpx @ git+https://github.com/encode/httpx@0.27.2 ; sys_platform == 'darwin'
httpx @ git+https://github.com/encode/httpx@0.24.1 ; sys_platform == 'linux'
```

We verify (at deserialization time) that the markers are
non-overlapping.

Closes https://github.com/astral-sh/uv/issues/3397.
2024-09-30 21:16:44 +00:00
..
cache.md Add documentation on cache versioning (#7693) 2024-09-25 22:13:02 +00:00
dependencies.md Allow multiple source entries for each package in tool.uv.sources (#7745) 2024-09-30 21:16:44 +00:00
index.md Update documentation sections (#5452) 2024-07-25 12:37:22 -05:00
projects.md ✏️ Fix typo in projects.md (#7784) 2024-09-29 19:40:45 +00:00
python-versions.md Avoid selecting prerelease Python installations without opt-in (#7300) 2024-09-11 15:49:33 -05:00
resolution.md Allow users to provide pre-defined metadata for resolution (#7442) 2024-09-18 03:18:05 +00:00
tools.md docs: add missing console highlights (#6900) 2024-08-31 19:04:19 -04:00
workspaces.md Update workspace documentation to remove legacy virtual projects (#6720) 2024-08-27 17:31:12 -04:00