Commit Graph

202 Commits

Author SHA1 Message Date
Zanie Blue
e2f400adbe Bump version to 0.6.15 (#13034)
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-04-22 00:03:33 +00:00
Ori Shamir
e178cc1b7a docs: Fix highlight line in explicit index documentation (#12887)
## Summary

Fix the highlighted line in [Index
Documentation](https://docs.astral.sh/uv/concepts/projects/dependencies/#index)
(towards the end of the section) - the `explicit = true` line should be
highlighted.

## Test Plan
Docs.
2025-04-15 15:39:56 -05:00
Henry Schreiner
99ec6ae144 docs: add explicit source (matching PyTorch guide) (#12844)
## Summary

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

The PyTorch guide page has this, but it's missing from this example
(which is otherwise identical to the PyTorch guide page). I think it
would be helpful to include it here too.

## Test Plan

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

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-04-14 08:22:20 -04:00
Charlie Marsh
039b3c5dda Refine lack of musl distributions to ARM-only (#12825) 2025-04-10 16:35:41 -05:00
Aria Desires
713c0053ef fix link to issue (#12823)
Also closes #12641
2025-04-10 16:23:33 -04:00
Zanie Blue
29f57a28cf Fix lockfile note (#12793) 2025-04-10 08:53:02 -05:00
Olly E
335af984f2 Add lockfile note about PEP 751 (#12732)
## Summary

Adds note to docs about PEP 751 to documentation as discussed in #12641 

## Test Plan

Previewed locally

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-04-07 17:53:36 -05:00
Zanie Blue
1988685029 Add note about uv build to package = false (#12608)
Closes https://github.com/astral-sh/uv/issues/12352
2025-04-02 08:33:27 -05:00
Qi Xiao
878457b5dd Update dependencies.md (#12598)
Fix broken grammar and hl_lines.

<!--
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

Some simple doc fixes.

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

## Test Plan

N/A

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

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-04-01 13:47:27 +00:00
johnthagen
57c57d1011 Fix statement in Required environments docs (#12540)
## Summary

The beginning of the sentence says that the package only publishes
distributions for Linux, so it will only be installable on Linux.
2025-03-28 20:36:59 -04:00
Zanie Blue
ec499807f8 Add support for Python version requests in uv python list (#12375)
Allows `uv python list <request>` to filter the installed list. I often
want this and it's not hard to add.

I tested the remote download filtering locally (#12381 is needed for
snapshot tests)

```
❯ cargo run -q -- python list --all-versions 3.13
cpython-3.13.2-macos-aarch64-none    <download available>
cpython-3.13.1-macos-aarch64-none    /opt/homebrew/opt/python@3.13/bin/python3.13 -> ../Frameworks/Python.framework/Versions/3.13/bin/python3.13
cpython-3.13.1-macos-aarch64-none    <download available>
cpython-3.13.0-macos-aarch64-none    /Users/zb/.local/share/uv/python/cpython-3.13.0-macos-aarch64-none/bin/python3.13
❯ cargo run -q -- python list --all-versions 3.13 --only-installed
cpython-3.13.1-macos-aarch64-none    /opt/homebrew/opt/python@3.13/bin/python3.13 -> ../Frameworks/Python.framework/Versions/3.13/bin/python3.13
cpython-3.13.0-macos-aarch64-none    /Users/zb/.local/share/uv/python/cpython-3.13.0-macos-aarch64-none/bin/python3.13
```
2025-03-23 03:13:58 +00:00
kenwoodjw
cdd6de555b docs: Update dependencies.md (#12388)
<!--
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
Fixes #12334
<!-- What's the purpose of the change? What does it do, and why? -->

## Test Plan

<!-- How was it tested? -->
2025-03-22 22:06:11 -05:00
Jatinderjit Singh
a95f4cf553 Fix --directory path in examples (#12165)
<!--
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? -->
The examples assume that the packages are in the project root directory.
However, they are nested inside `src`, and the commands in the examples
do not work as intended.

I could not find any related issues.

## Test Plan

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

I tested it by executing the commands on my terminal - Linux and Windows
(PowerShell).

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-03-18 15:50:03 -04:00
Aria Desires
26cad18635 add default-groups = "all" sugar to pyproject.toml (#12289)
Suggested by @zanieb in #10934

* [x] agree we want to do this
* [x] add docs

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-03-18 13:42:06 -05:00
John Mumm
f66ce58a09 Simplify managed Python flags (#12246)
Currently, for users to specify at the command line whether to use
uv-managed or system Python interpreters, they use the
`--python-preference` parameter, which takes four possible values. This
is more complex than necessary since the normal case is to either say
"only managed" or "not managed". This PR hides the old
`--python-preference` parameter from help and documentation and adds two
new flags: `--managed-python` and `--no-managed-python` to capture the
"only managed" and "not managed" cases.

I have successfully tested this locally but currently cannot add
snapshot tests because of problems with distinguishing managed vs.
system interpreters in CI (and non-determinism when run on different
developers' machines). The `--python-preference` test in
`tool-install.rs` is currently ignored for this reason. See #5144 and
#7473.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-03-18 18:13:14 +01:00
Charlie Marsh
7ea2f657fa Add src to default cache keys (#12062)
## Summary

This has come up a few times, so it seems worth addressing. If you
migrate from a flat layout to a `src` layout or vice versa, we now
invalidate the package metadata.

Closes https://github.com/astral-sh/uv/issues/12047
2025-03-17 17:56:10 -04:00
Charlie Marsh
72be5ffb25 Always reinstall local source trees passed to uv pip install (#12176)
## Summary

This ended up being more involved than expected. The gist is that we
setup all the packages we want to reinstall upfront (they're passed in
on the command-line); but at that point, we don't have names for all the
packages that the user has specified. (Consider, e.g., `uv pip install
.` -- we don't have a name for `.`, so we can't add it to the list of
`Reinstall` packages.)

Now, `Reinstall` also accepts paths, so we can augment `Reinstall` based
on the user-provided paths.

Closes #12038.
2025-03-17 21:12:21 +00:00
Charlie Marsh
3188d99f39 Use consistent commas around i.e. and e.g. (#12157)
## Summary

Only in user-facing docs -- I didn't bother with the rustdoc. (This is
in the style guide already.)
2025-03-13 23:42:10 +00:00
John Mumm
797f1fbac0 Add support for global uv python pin (#12115)
These changes add support for

```
uv python pin 3.12 --global 
```

This adds the specified version to a `.python-version` file in the
user-level config directory. uv will now use the user-level version as a
fallback if no version is found in the project directory or its
ancestors.

Closes #4972
2025-03-13 13:48:37 +01:00
GCHQDeveloper314
2ac47d76b8 Docs : Quote versions string in python-versions.md (#12112)
<!--
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

The command `uv python find >=3.11` doesn't work . The version should be
quoted otherwise the terminal interprets the `>` and pipes output to a
file named `=3.11`. I've used single quotes as used on line 90 of this
file.

## Test Plan

Locally
2025-03-11 09:03:00 -05:00
samypr100
e096ab2411 Add support for Windows legacy scripts via uv tool run (#12079)
## Summary

Follow up to https://github.com/astral-sh/uv/pull/11888 with added
support for uv tool run.

Changes
* Added functionality for running windows scripts in previous PR was
moved from run.rs to uv_shell::runnable.
* EXE was added as a supported type, this simplified integration across
both uv run and uvx while retaining a backwards compatible behavior and
properly prioritizing .exe over others. Name was adjusted to runnable as
a result to better represent intent.

## Test Plan

New tests added.

## Documentation

Added new documentation.
2025-03-11 09:02:17 -05:00
Zanie Blue
3739223c96 Fix tool concept page headings (#12053)
Some of these were incorrectly nested, and there was not a heading for
upgrades
2025-03-08 08:49:21 -06:00
Charlie Marsh
d4a805544f Allow users to set package = true on tool.uv.sources (#12014)
## Summary

In https://github.com/astral-sh/uv/issues/11998, a user is attempting to
vendor `pydantic-core`. But when they add `pydantic-core = { path =
"src/foo/vendor/pydantic-core" } `, we're installing it as a virtual
package, since `pydantic-core/pyproject.toml` contains `package =
false`.

This PR allows users to mark dependencies as "explicitly a package" or
"explicitly not a package" (i.e., virtual), as a workaround.

Closes https://github.com/astral-sh/uv/issues/11998.
2025-03-06 18:28:09 +00:00
Alex Ball
43c8cd8b3f Docs: Clarify that setting cache-keys overrides defaults (#11895)
## Summary

The current wording on the [caching
page](https://docs.astral.sh/uv/concepts/cache/#dynamic-metadata) makes
it sounds like defining `cache-keys` in a project adds to the metadata
considered when caching. However it actually replaces the metadata. So
copying the example using the git commit results in only considering the
git commit, not the pyproject.toml, which is likely not what is
typically desired.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-03-03 02:54:48 +00:00
Zanie Blue
8f0c6f5a6f Update the "Locking and syncing" page (#11647)
I need to self-review this still.

Updates the "Locking and syncing" page to actually have content on
syncing — which was the original intent, the rest of this file was just
copied out of the "Projects" page when I split it into multiple pages.

---------

Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com>
Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2025-02-26 12:20:27 -06:00
Zanie Blue
1f7f9fdeb4 Add link to environment marker specification (#11748) 2025-02-24 11:57:28 -06:00
Song Luar
d4a0096c14 [Docs] fix readme typo (#11742)
<!--
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? -->
Fixes readme typo in syntax of environments in `pyproject.toml`

## Test Plan

<!-- How was it tested? -->
n/a
2025-02-24 14:24:43 +01:00
Charlie Marsh
d8aaa17ccd Add documentation for required environments (#11542)
## Summary

Right now, there's documentation in the settings reference. This adds
some standalone prose.
2025-02-17 11:27:57 -06:00
Aria Desires
fbe9e33b8d Note that main.py used to be hello.py (#11519)
Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-02-14 21:59:25 +00:00
Aria Desires
9138b35c66 Create main.py instead of hello.py in uv init (#10369)
Initially it seemed like `app.py` might be slightly more desirable but
people seem to overwhelmingly favour `main.py` as a good "generic" name.

Fixes #7782
2025-02-13 16:17:49 -06: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
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
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
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
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
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
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
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
Charlie Marsh
566f0d0abd Add Requires-Python upper bound behavior to the docs (#10964)
## Summary

Closes https://github.com/astral-sh/uv/issues/10376.
2025-01-28 12:17:34 -05:00
Charlie Marsh
92b72c62ea Amend requires-python rules in resolver documentation (#10993)
## Summary

Closes https://github.com/astral-sh/uv/issues/10967.
2025-01-28 12:17:27 -05:00
Zanie Blue
6e4845fffb Add documentation for uv add -r (#10926)
Closes https://github.com/astral-sh/uv/issues/10924
2025-01-23 21:34:50 -06:00
Mathieu Kniewallner
e3a09888ab docs(git): add subdirectory example (#10894)
## Summary

Closes #10889.

As kinda hinted in the issue, would adding a `--subdirectory` flag to
`uv add` make sense? This would IMO be more discoverable.

## Test Plan

Ran the command added to the documentation:

```console
$ uv add git+https://github.com/langchain-ai/langchain#subdirectory=libs/langchain
Resolved 40 packages in 203ms
   Built langchain @ git+https://github.com/langchain-ai/langchain@f2ea62f63209130bfc56b1fe7d0fa7c299bbf352#subdirectory=libs/langchain
Prepared 19 packages in 837ms
Installed 37 packages in 14ms
[...]
```
2025-01-23 08:58:39 -05:00
Niklas Rosenstein
5ecfc3d900 Update docs on how to use UV_PROJECT_ENVIRONMENT to use the system python environment (#10817)
## Summary

The docs did mention that you could set the `UV_PROJECT_ENVIRONMENT`
variable to point Uv to use the system Python environment (e.g. for use
in CI or Docker), but it did not document _how_.

Reference:
https://github.com/astral-sh/uv/pull/6834#issuecomment-2319253359

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-01-21 18:40:01 +00:00
Se7en
d5b98fb76c fix: links in configuring projects doc (#10710)
<!--
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? -->

Fix invalid links in [configuring
projects](https://docs.astral.sh/uv/concepts/projects/config/#entry-points)
doc.

## Test Plan

<!-- How was it tested? -->
2025-01-17 12:39:56 -06:00
Mel Massadian
66e47345cb docs(workspaces): remove build-system (#10636)
## Summary

Unless I'm doing something wrong, specifying `hatchling` as a build
system here results in `ValueError: Unable to determine which files to
ship`

## Test Plan

Following the instructions of the document.

## Additional

Don't hesitate to discard
2025-01-15 11:46:35 -06:00
FishAlchemist
201726cda5 docs: Clarify build system specific features usage. (#10261)
## Summary
Since there are occasional inquiries about how to configure UV for
build-system specific features, I want to raise awareness that users
should refer to the documentation of the build system they are using for
relevant settings.
## Test Plan
Run docs service in local.

9821d58d35

![image](https://github.com/user-attachments/assets/3c07ac15-a562-40e2-9289-204c0975261f)

---------

Signed-off-by: FishAlchemist <48265002+FishAlchemist@users.noreply.github.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-01-09 11:41:04 -06:00