uv/crates/puffin-dev
Charlie Marsh 69581c03c3
Enable package overrides in pip-compile (#631)
## Summary

This PR enables overrides to be passed to `pip-compile` and
`pip-install` via a new `--overrides` flag.

When overrides are provided, we effectively replace any requirements
that are overridden with the overridden versions. This is applied at all
depths of the tree.

The merge semantics are such that we replace _all_ requirements of a
package with _all_ requirements from the overrides files. So, for
example, if a package declares:

```
foo >= 1.0; python_version < '3.11'
foo < 1.0; python_version >= '3.11'
```

And the user provides an override like:
```
foo >= 2.0
```

Then _both_ of the `foo` requirements in the package will be replaced
with the override.

If instead, the user provided an override like:
```
foo >= 2.0; python_version < '3.11'
foo < 3.0; python_version >= '3.11'
```

Then we'd replace _both_ of the original `foo` requirements with both of
these overrides. (In technical terms, for each package in the
requirements file, we flat-map over its overrides.)

Closes https://github.com/astral-sh/puffin/issues/511.
2023-12-13 15:03:38 +00:00
..
src Enable package overrides in pip-compile (#631) 2023-12-13 15:03:38 +00:00
.gitignore Start puffin-dev (#193) 2023-10-26 09:17:22 +00:00
Cargo.toml Skip tf-models-nightly in resolve-many dev script for now (#510) 2023-11-28 18:25:32 +00:00
test_sdist_building.sh Start puffin-dev (#193) 2023-10-26 09:17:22 +00:00