773 Commits

Author SHA1 Message Date
Zanie Blue
e38ac4900d Bump version to 0.5.31 (#11459) 2025-02-12 14:45:22 -06:00
Charlie Marsh
792dc9d1c5 Add uv sync --script (#11361)
## Summary

The environment is located at a stable path within the cache, based on
the script's absolute path.

If a lockfile exists for the script, then we use our standard lockfile
semantics (i.e., update the lockfile if necessary, etc.); if not, we
just do a `uv pip sync` (roughly).

Example usage:

```
❯ uv init --script hello.py
Initialized script at `hello.py`

❯ uv add --script hello.py requests
Updated `hello.py`

❯ cargo run sync --script hello.py
Using script environment at: /Users/crmarsh/.cache/uv/environments-v1/hello-84e289fe3f6241a0
Resolved 5 packages in 3ms
Installed 5 packages in 12ms
 + certifi==2025.1.31
 + charset-normalizer==3.4.1
 + idna==3.10
 + requests==2.32.3
 + urllib3==2.3.0
```

Closes https://github.com/astral-sh/uv/issues/6637.
2025-02-12 16:02:16 +00:00
Lewis
0b4a349173 Update scripts docs with package indexes (#11443)
## Summary

The [current scripts docs
page](https://docs.astral.sh/uv/guides/scripts/) doesn't include detail
on how to use a custom package index when setting up a script. I believe
this might be because it didn't use to work (see #6688 ) but it now does
(thanks for that, by the way! 😄)

Given it's a useful feature, I suggest adding a quick example to the
scripts page, with the details of authentication, etc. left to the main
`indexes.md` doc.

I'd also suggests that this closes #6688, though it doesn't actually add
that feature - that appears to have already been done :)

## Test Plan

No testing is needed, I think!

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-02-12 07:52:22 -06:00
Valentin Oliver Loftsson
5e15881dcc Update alternative-indexes.md to use UV_INDEX instead of UV_EXTRA_INDEX_URL (#11381)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

Use `UV_INDEX` instead of the deprecated `UV_EXTRA_INDEX_URL`.

<!-- What's the purpose of the change? What does it do, and why? -->

## Test Plan

It is a minor documentation change.
<!-- How was it tested? -->
2025-02-11 09:19:20 -05:00
Charlie Marsh
ca49495e4b Bump version to v0.5.30 (#11405) 2025-02-10 21:42:31 +00:00
Alex Lowe
ac06e1318a Add NO_BINARY and NO_BINARY_PACKAGE environment variables (#11399)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

This adds `NO_BINARY` and `NO_BINARY_PACKAGE` environment variables to
the uv CLI, allowing the user to specify packages to build from source
using environment variables. Its not a complete fix for #4291 as it does
not handle the `pip` subcommand.

## Test Plan

This was tested by running `uv sync` with various `UV_NO_BINARY` and
`UV_NO_BINARY_PACKAGE` environment variables set and checking that the
correct set of packages were compiled rather than taken from pre-built
wheels.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-02-10 21:11:46 +00:00
konsti
768da2091b Fix windows installation instructions mismatch (#11380)
See #7106

Fixes #11378
2025-02-10 21:42:50 +01:00
Tai
07d3e5085a Fix broken anchors in readme and docs index (#11338)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

I've just fixed some broken anchors after browing ux doc site.

## Test Plan

- `index.md`: based on `mkdocs serve` log
- `readme.md`: manual check

## Aside

Do you manually keep `readme.md` and `index.md` partially sync? I've
tried
checking pre-commit and other scripts but found no way to port my edits
from one
to the other.

<!-- How was it tested? -->

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-02-08 15:21:08 +00:00
konsti
96ac4b72b1 Add docs for uv tool install --editable (#11280)
I also moved it down a bit below the more important options

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-02-07 22:56:54 +00:00
Zanie Blue
03616ebb68 Add note about available versions (#11331)
ref https://github.com/astral-sh/uv/issues/11243#issuecomment-2644104492
2025-02-07 16:10:05 -06:00
Aria Desires
5c4b6d436c cleanup some dependency-group docs (#11284)
Some additional details, more mentioning of related flags, and some
minor rewordings to avoid misconceptions I had from the current docs.

Closes #11205
2025-02-07 15:40:59 +00:00
Charlie Marsh
8335a6d816 Add uv sync --dry-run (#11299)
## Summary

Allows users to understand how the environment will change prior to
committing.

Closes https://github.com/astral-sh/uv/issues/11282.
2025-02-06 23:52:49 +00:00
samsja
5ce48cf799 add pip install setuptools in flash-attn docs (#11271)
## Summary

I followed the docs to install flash-attn with uv and got the following
issue
```uv sync
Resolved 27 packages in 12ms
  × Failed to build `flash-attn==2.7.4.post1`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1)

      [stderr]
      Traceback (most recent call last):
        File "<string>", line 8, in <module>
      ModuleNotFoundError: No module named 'setuptools'

      hint: This usually indicates a problem with the package or the build environment.
```

installing setuptools before running uv sync as done with torch helps
fix it.
## Test Plan

I tested locally before it failed to install, after it worked
2025-02-05 20:59:56 -05:00
Zanie Blue
ca73c47543 Bump version to 0.5.29 (#11267) 2025-02-05 19:59:29 -05:00
Avasam
b83e25a911 Update bad shell assumptions from "Shell autocompletion" page (#11202)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

- PowerShell isn't Windows-only
- Bash/Elvish isn't UNIX-only
- PowerShell profile won't necessarily exist
- Extracted the `echo $SHELL` tip to a tip tooltip

The new PowerShell lines are taken directly from
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-7.5#how-to-create-a-profile

Note that the "Standalone installer" commands are unaffected. Running
the Linux one through PowerShell worked just fine.

## Test Plan

Look at the page generated from this PR
<!-- How was it tested? -->
2025-02-05 17:33:48 -06:00
Zanie Blue
c64965273f Misc. improvements to the documentation (#11255) 2025-02-05 17:22:09 -06:00
Zanie Blue
7ec68e1dda Allow opt-in to .python-version in uv init with --pin-python (#11265)
For use with `--bare`
2025-02-05 17:21:58 -06:00
Zanie Blue
239f3d76b9 Allow the project VIRTUAL_ENV warning to be silenced with --no-active (#11251)
Follow-up to https://github.com/astral-sh/uv/pull/11189

Closes https://github.com/astral-sh/uv-pre-commit/issues/36
2025-02-05 19:44:46 +00:00
Zanie Blue
2105b8a89d Minor touchups to the Docker provenance docs (#11252) 2025-02-05 17:09:15 +00:00
Zanie Blue
1f963d1b89 Move content from the mkdocs.public.yml into the template (#11246)
Closes https://github.com/astral-sh/uv/issues/11242
2025-02-05 16:13:46 +00:00
Zanie Blue
acbbb2b82a Add --bare option to uv init (#11192)
People are looking for a less opinionated version of `uv init`. The goal
here is to create a `pyproject.toml` and nothing else. With the `--lib`
or `--package` flags, we'll still configure a build backend but we won't
create the source tree. This disables things like the default
`description`, author behavior, and VCS.

See

- https://github.com/astral-sh/uv/issues/8178
- https://github.com/astral-sh/uv/issues/7181
- https://github.com/astral-sh/uv/issues/6750
2025-02-05 10:12:27 -06:00
Zanie Blue
989b103171 Add support for respecting VIRTUAL_ENV in project commands via --active (#11189)
I think `UV_PROJECT_ENVIRONMENT` is too complicated for use-cases where
the user wants to sync to the active environment. I don't see a
compelling reason not to make opt-in easier. I see a lot of questions
about how to deal with this warning in the issue tracker, but it seems
painful to collect them here for posterity.

A notable behavior here — we'll treat this as equivalent to
`UV_PROJECT_ENVIRONMENT` so... if you point us to a valid virtual
environment that needs to be recreated for some reason (e.g., new Python
version request), we'll happily delete it and start over.
2025-02-05 10:12:19 -06:00
Charlie Marsh
fea00dcdd5 Bump version to v0.5.28 (#11228) 2025-02-04 20:28:43 -05:00
Martijn Pieters
04374b03cc Docs on how to verify uv docker image attestations (#11140)
As [requested by
@zanieb](https://github.com/astral-sh/uv/pull/8685#issuecomment-2627556992).
2025-02-04 15:38:19 -06:00
konsti
d9907f6fda Update resolver internals docs (#11098)
Since the resolver internals docs were written, we added a lot more
features to the resolver, which should be documented.

As usual, these docs are not targeted at regular users, but should give
interested readers an insight into the internals of uv and help advanced
users with especially hard resolver problems.
2025-02-04 13:06:27 +00:00
FishAlchemist
49b85d2e65 Add `last updated` for document (#11164)
## Summary

![image](https://github.com/user-attachments/assets/75431f9f-debe-435d-a02e-d216be7a3a01)

![image](https://github.com/user-attachments/assets/2d1b895e-4878-410e-90ff-ff8e932cbf24)
Display the last document update time, excluding any automatically
generated parts of the document, while ensuring that Google can
accurately read and recognize the webpage's time.

Note that I do not have permission to update
``requirements-insiders.txt``


Google time info
*
https://developers.google.com/search/blog/2019/03/help-google-search-know-best-date-for
*
https://developers.google.com/search/docs/appearance/structured-data/article#amp

Similar https://github.com/astral-sh/uv/pull/11162
Closes #11148
## Test Plan
uvx --with-requirements docs/requirements.txt -- mkdocs serve -f
mkdocs.public.yml --strict

![image](https://github.com/user-attachments/assets/6e8cd609-2e60-489c-97cc-fb28aa3204e0)
The correct format is actually ``2024-08-08T22:01:08Z``, but Google
Search happens to be lenient and accepts this format.

![image](https://github.com/user-attachments/assets/2ec8ce98-49ea-403b-bbd2-3d0d5630a562)
2025-02-03 22:28:47 -05:00
Zanie Blue
73e9928d40 Bump version to 0.5.27 (#11201) 2025-02-03 16:55:36 -06:00
Gregory Power
f54979f2bc add instructions for deactivating an environment (#11200)
## Summary

Add instructions for deactivating a virtual environment.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-02-03 22:16:41 +00:00
Zanie Blue
1be8ba7df1 Add best-practice flags to pip install example in troubleshooting guide (#11194) 2025-02-03 20:13:55 +00:00
Charlie Marsh
2dfeafbaa4 Set UV_PYTHON in Jupyter kernels (#11155)
## Summary

It turns out activating the kernel does not change `VIRTUAL_ENV`, so we
still install into the environment the Jupyter environment, rather than
the project environment.

Unfortunately, after this change, we do still show a warning on `uv
add`:

```
warning: `VIRTUAL_ENV=/Users/crmarsh/.cache/uv/archive-v0/3bddKDdYXuX2w57Fu6itL` does not match the project environment path `.venv` and will be ignored
```

`uv pip install` works without warning.

Closes #11154.
2025-02-01 16:54:34 -05:00
Charlie Marsh
1fae8dbf17 Add Git SHA locking behavior to docs (#11125)
## Summary

Closes https://github.com/astral-sh/uv/issues/11090.
2025-01-31 12:11:04 -06:00
Zanie Blue
5ef3d51390 Bump version to 0.5.26 (#11119) 2025-01-30 15:37:00 -06:00
Zanie Blue
e0a19be825 Touch-ups to the Python install guide (#11116) 2025-01-30 13:56:53 -06:00
konsti
80d485d32a Explain build frontend vs. build backend (#11094)
We regularly get questions why `uv build` is missing certain files or
using the wrong build tag, when that's done by the build backend and
part of the build backend's docs. I tried to clarify this difference and
to redirect users to look at the tool's docs instead of wondering why
uv's docs don't explain that.

---------

Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-01-30 19:48:47 +00:00
Charlie Marsh
7531bb8669 Upgrade PyTorch version in documentation (#11114)
## Summary

PyTorch 2.6.0 is now GA!
2025-01-30 14:05:13 -05:00
Charlie Marsh
658ca89fb1 Use sys_platform in lieu of platform_system in PyTorch docs (#11113)
## Summary

This is what we use in the lockfile. I believe it's preferable, and it's
also more concise.
2025-01-30 19:01:52 +00:00
Charlie Marsh
9f8cd92bd3 Use positive (rather than negative) markers in PyTorch examples (#11112)
## Summary

Maybe slightly controversial because it's more verbose, but we really
want to limit these indexes to Linux and Windows, rather than ignoring
them on Darwin. E.g., we'd also want to ignore them on other platforms.

Further down, I use markers that look like this in the more complete
examples, so this feels more consistent.
2025-01-30 14:00:35 -05:00
Charlie Marsh
70507b7898 Add PyTorch XPU instructions to the PyTorch guide (#11109)
## Summary

Closes https://github.com/astral-sh/uv/issues/11079.
2025-01-30 13:48:52 -05:00
Zanie Blue
220821bc39 Add support for uvx python (#11076)
Supersedes https://github.com/astral-sh/uv/pull/7491
Closes https://github.com/astral-sh/uv/issues/7430

Thanks @mikeleppane for starting this implementation. I took a bit of a
different approach and it was easier to start over fresh, but I used
some of the test cases there.
2025-01-30 11:53:58 -06:00
Danilo Rezende
eb8ffa4981 Update documentation for running in a container (#11052)
This PR rewords the instructions for using uv in a container. I'm a new
user and was somewhat confused by it, so I've rewritten it as I'd have
liked to have read it.

It makes it more clear what distroless means, to avoid confusion with
other projects that ship OS files with an image with its tag name clear
of qualifiers(`astral-sh/uv`, in this case). An example of that is
caddy, which ships with alpine.

This also modifies the original example to use a distroful image instead
of distroless one while #8635 doesn't get resolved.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-01-30 00:17:58 +00:00
Zanie Blue
a3049ecf69 Fix broken link (#11081) 2025-01-29 19:41:18 +00:00
Zanie Blue
2ca51501ed Shorten "Using existing Python versions" nav item so it fits on one line (#11077) 2025-01-29 19:04:11 +00:00
Florian Greinacher
9fc24b2ac5 docs: suggest copy linking for GitLab integration guide (#11067)
## Summary

Hardlinking does not work in that context and raises a warning.

Setting the link mode to copy makes the warning go away.

## Test Plan

Tested on gitlab.com and our self-hosted GitLab instance.

Before changing the link mode:

https://gitlab.com/fgreinacher/uv-test/-/jobs/8986967570

After changing the link mode:

https://gitlab.com/fgreinacher/uv-test/-/jobs/8987026307.

⚒️ with ❤️ by
[Siemens](https://opensource.siemens.com/)

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-01-29 17:58:14 +00:00
titipoco
3af3af5039 Fix typo in no-deps docs/comments/cli description (#11073)
## Summary
Fixes a recurring typo.

## Details
There's a typo appearing in a particular sentence...

> Ignore package dependencies, instead only add those packages
explicitly listed on the command line to the resulting **the**
requirements file.

... used in:
* `crates/uv-cli/src/lib.rs`
* `crates/uv-settings-src-settings.rs`
* `docs/reference/settings.md`
* `uv.schem.json`

Docs, comments and a CLI command description seem affected.

This PR fixes it.

---------

Co-authored-by: bujnok01 <bujnok01@heiway.net>
2025-01-29 11:55:40 -06:00
Zanie Blue
48976e12e8 Add docs for signal handling (#11041)
I'm not sure if this should go in the CLI reference or not? but here
seems like an okay start. I want to figure out a way to avoid repeating
this content.
2025-01-29 08:27:52 -06:00
Zanie Blue
7633f1db83 Reflow CLI documentation comments (#11040)
I'm sorry, but I was writing some new content here and the inconsistent
wrapping was very hard to maintain and I didn't want to muddy the diff
there with reflowing.

I don't think we need to be strict about the reflow (I'm not sure we
even can be) but some of these were very far off from our typical wrap
length.
2025-01-29 08:21:32 -06:00
Marco Barbosa
c5ccea2bb1 doc typo: unnecessary backslashes to represent brackets in markdown (#11059)
There is a small typo in the doc which could mislead users: reference to
a table in `pyproject.toml` currently appears as
[`\[project.entry-points\]`](https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/#using-package-metadata)
while it should be
[`[project.entry-points]`](https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/#using-package-metadata).

Backslashes are appearing because they weren't supposed to be used on
code representation in Markdown.
2025-01-29 08:17:31 -06:00
Bob Whitelock
baec42c494 Update Dependabot links (#11054)
## Summary

The latter issue has been closed in favour of the former, so just link
the one issue Dependabot is using to track this.

## Test Plan

N/A

---

Thanks!
2025-01-29 08:06:08 -06:00
Victorien
7868d5df95 Fix formatting of RUST_LOG documentation (#10053)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->

## Test Plan

<!-- How was it tested? -->
2025-01-28 17:31:10 -06:00
Zanie Blue
9c07c3fc5b Bump version to 0.5.25 (#11042) 2025-01-28 15:40:43 -06:00