mirror of
https://github.com/astral-sh/uv
synced 2026-01-22 14:00:11 -05:00
This PR rewrites the resolver concept and adds a resolver internals page targeted at power users. The new resolution concept documentation has three parts: * An introduction for people how never heard of "resolution" before, and a motivating example what it does. I've also shoved the part about equally valid resolutions in there. * Features you commonly use: Non-universal vs. universal resolution, lowest resolution amd pre-releases. * Expert features, we don't advertise them, you'll only need them in complex cases when you already know and i kept them to the reference points you need in this case: Constraints, overrides and exclude-newer. I intentionally didn't lay out any detail of the resolution itself, the idea is that users get a vague sense of "uv has to select fitting versions", but then they learn the options they have to use and some common failure points without ever coming near SAT or even graphs. The resolution internals reference page is targeted at power users who need to understand what is going on behind the scenes. It assumes ample prior knowledge and exists to explain the uv-specific behaviors for someone who already understands dependency resolution conceptually and has interacted with their dependency tree before. I had a section on the lockfile but removed it because it found the lockfile to be too self-documenting. I haven't touched the readme. Closes #5603 Closes #5238 Closes #5237 --------- Co-authored-by: Zanie Blue <contact@zanie.dev>
129 lines
3.9 KiB
YAML
129 lines
3.9 KiB
YAML
site_name: uv
|
|
theme:
|
|
name: material
|
|
logo: assets/logo-letter.svg
|
|
favicon: assets/favicon.svg
|
|
features:
|
|
- navigation.instant
|
|
- navigation.instant.prefetch
|
|
- navigation.instant.progress
|
|
- navigation.expand
|
|
- navigation.indexes
|
|
- navigation.tracking
|
|
- content.code.annotate
|
|
- toc.follow
|
|
- navigation.footer
|
|
- navigation.top
|
|
- content.code.copy
|
|
- content.tabs.link
|
|
palette:
|
|
# Note: Using the system theme works with the insiders version
|
|
# https://squidfunk.github.io/mkdocs-material/setup/changing-the-colors/#automatic-light-dark-mode
|
|
- media: "(prefers-color-scheme)"
|
|
toggle:
|
|
icon: material/brightness-auto
|
|
name: Switch to light mode
|
|
- media: "(prefers-color-scheme: light)"
|
|
scheme: astral-light
|
|
toggle:
|
|
icon: material/brightness-7
|
|
name: Switch to dark mode
|
|
- media: "(prefers-color-scheme: dark)"
|
|
scheme: astral-dark
|
|
toggle:
|
|
icon: material/brightness-4
|
|
name: Switch to system preference
|
|
custom_dir: docs/.overrides
|
|
repo_url: https://github.com/astral-sh/uv
|
|
repo_name: uv
|
|
site_author: charliermarsh
|
|
site_url: https://docs.astral.sh/uv/
|
|
site_dir: site/uv
|
|
markdown_extensions:
|
|
- admonition
|
|
- pymdownx.details
|
|
- toc:
|
|
permalink: "#"
|
|
- pymdownx.snippets:
|
|
- pymdownx.magiclink:
|
|
- attr_list:
|
|
- md_in_html:
|
|
- pymdownx.highlight:
|
|
anchor_linenums: true
|
|
- pymdownx.inlinehilite:
|
|
- pymdownx.superfences:
|
|
- markdown.extensions.attr_list:
|
|
- pymdownx.keys:
|
|
- pymdownx.tasklist:
|
|
custom_checkbox: true
|
|
- pymdownx.highlight:
|
|
anchor_linenums: true
|
|
- pymdownx.tabbed:
|
|
alternate_style: true
|
|
plugins:
|
|
- search
|
|
- typeset
|
|
extra_css:
|
|
- stylesheets/extra.css
|
|
extra_javascript:
|
|
- js/extra.js
|
|
extra:
|
|
analytics:
|
|
provider: fathom
|
|
social:
|
|
- icon: fontawesome/brands/github
|
|
link: https://github.com/astral-sh/uv
|
|
- icon: fontawesome/brands/discord
|
|
link: https://discord.com/invite/astral-sh
|
|
- icon: fontawesome/brands/python
|
|
link: https://pypi.org/project/uv/
|
|
- icon: fontawesome/brands/x-twitter
|
|
link: https://x.com/astral_sh
|
|
nav:
|
|
- Introduction: index.md
|
|
- Getting started:
|
|
- Installation: installation.md
|
|
- First steps: first-steps.md
|
|
- Features: features.md
|
|
- Guides:
|
|
- guides/index.md
|
|
- Installing Python: guides/install-python.md
|
|
- Running scripts: guides/scripts.md
|
|
- Working on projects: guides/projects.md
|
|
- Using tools: guides/tools.md
|
|
- Concepts:
|
|
- concepts/index.md
|
|
- Projects: concepts/projects.md
|
|
- Dependencies: concepts/dependencies.md
|
|
- Workspaces: concepts/workspaces.md
|
|
- Tools: concepts/tools.md
|
|
- Python versions: concepts/python-versions.md
|
|
- Resolution: concepts/resolution.md
|
|
- Caching: concepts/cache.md
|
|
- Configuration:
|
|
- configuration/index.md
|
|
- Configuration files: configuration/files.md
|
|
- Environment variables: configuration/environment.md
|
|
- Authentication: configuration/authentication.md
|
|
- Integration guides:
|
|
- guides/integration/index.md
|
|
- Docker: guides/integration/docker.md
|
|
- GitHub Actions: guides/integration/github.md
|
|
- Pre-commit: guides/integration/pre-commit.md
|
|
- Alternative indexes: guides/integration/alternative-indexes.md
|
|
- The pip interface:
|
|
- pip/index.md
|
|
- Using environments: pip/environments.md
|
|
- Managing packages: pip/packages.md
|
|
- Inspecting packages: pip/inspection.md
|
|
- Declaring dependencies: pip/dependencies.md
|
|
- Locking environments: pip/compile.md
|
|
- Compatibility with pip: pip/compatibility.md
|
|
- Reference:
|
|
- Commands: reference/cli.md
|
|
- Settings: reference/settings.md
|
|
- Resolution Internals: reference/resolution-internals.md
|
|
- Policies:
|
|
- Versioning: versioning.md
|
|
- Platform support: platforms.md
|