Skip to content

Commit

Permalink
Expand on pip compile default differences
Browse files Browse the repository at this point in the history
  • Loading branch information
charliermarsh committed Jun 13, 2024
1 parent 0fda89c commit 4c442df
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions PIP_COMPATIBILITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -368,16 +368,20 @@ Specifically, uv does not support installing new `.egg-info`- or `.egg-link`-sty
but will respect any such existing distributions during resolution, list them with `uv pip list` and
`uv pip freeze`, and uninstall them with `uv pip uninstall`.

## `pip compile`
## `pip compile` defaults

There are a few small but notable differences in the default behaviors of `pip compile` and
`pip-tools`.

uv does not write the compiled requirements to file by default. Use the `-o` or `--output-file`
option.
By default, uv does not write the compiled requirements to an output file. Instead, uv requires
that the user specify an output file explicitly with the `-o` or `--output-file` option.

Currently, `pip-compile` defaults to `--no-strip-extras`, though this is scheduled to change in the
next major release.
By default, uv strips extras when outputting the compiled requirements. In other words, uv defaults to
`--strip-extras`, while `pip-compile` defaults to `--no-strip-extras`. `pip-compile` is scheduled to
change this default in the next major release (v8.0.0), at which point both tools will default to
`--strip-extras`. To retain extras with uv, pass the `--no-strip-extras` flag to `uv pip compile`.

If your requirements file includes an `--extra-index-url` directive, uv will not emit it by
default. Use the `--emit-index-url` option. uv will also include its default `--index-url`.
By default, uv does not write any index URLs to the output file, while `pip-compile` outputs any
`--index-url` or `--extra-index-url` that does not match the default (PyPI). To include index URLs
in the output file, pass the `--emit-index-url` flag to `uv pip compile`. Unlike `pip-compile`,
uv will include all index URLs when `--emit-index-url` is passed, including the default index URL.

0 comments on commit 4c442df

Please sign in to comment.