mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 10:58:28 +00:00
docs: list supported sdist formats (#7168)
## Summary
Explicitly list the formats and extensions that uv supports, based on
[this
list](86ee8d2c01/crates/distribution-filename/src/extension.rs (L70-L77)
).
Not a huge fan of adding the section in `concepts/resolution.md`, but I
did not find a better place. Alternatively we could maybe add a
dedicated page that shortly explains Python package types (wheels,
sdists), where such a section could live?
## Test Plan
Local run of the documentation.
This commit is contained in:
parent
e8a26a43f5
commit
8341d810b2
9 changed files with 46 additions and 32 deletions
|
@ -31,8 +31,8 @@ An extremely fast Python package and project manager, written in Rust.
|
|||
[inline dependency metadata](https://docs.astral.sh/uv/guides/scripts#declaring-script-dependencies).
|
||||
- 🗂️ Provides [comprehensive project management](#project-management), with a
|
||||
[universal lockfile](https://docs.astral.sh/uv/concepts/projects#project-lockfile).
|
||||
- 🔩 Includes a [pip-compatible interface](#the-pip-interface) for a performance boost with a
|
||||
familiar CLI.
|
||||
- 🔩 Includes a [pip-compatible interface](#a-pip-compatible-interface) for a performance boost with
|
||||
a familiar CLI.
|
||||
- 🏢 Supports Cargo-style [workspaces](https://docs.astral.sh/uv/concepts/workspaces) for scalable
|
||||
projects.
|
||||
- 💾 Disk-space efficient, with a [global cache](https://docs.astral.sh/uv/concepts/cache) for
|
||||
|
|
|
@ -3562,7 +3562,7 @@ pub struct IndexArgs {
|
|||
/// indexes.
|
||||
///
|
||||
/// If a path, the target must be a directory that contains packages as wheel files (`.whl`) or
|
||||
/// source distributions (`.tar.gz` or `.zip`) at the top level.
|
||||
/// source distributions (e.g., `.tar.gz` or `.zip`) at the top level.
|
||||
///
|
||||
/// If a URL, the page must contain a flat list of links to package files adhering to the
|
||||
/// formats described above.
|
||||
|
|
|
@ -318,7 +318,7 @@ pub struct ResolverInstallerOptions {
|
|||
/// indexes.
|
||||
///
|
||||
/// If a path, the target must be a directory that contains packages as wheel files (`.whl`) or
|
||||
/// source distributions (`.tar.gz` or `.zip`) at the top level.
|
||||
/// source distributions (e.g., `.tar.gz` or `.zip`) at the top level.
|
||||
///
|
||||
/// If a URL, the page must contain a flat list of links to package files adhering to the
|
||||
/// formats described above.
|
||||
|
@ -705,7 +705,7 @@ pub struct PipOptions {
|
|||
/// indexes.
|
||||
///
|
||||
/// If a path, the target must be a directory that contains packages as wheel files (`.whl`) or
|
||||
/// source distributions (`.tar.gz` or `.zip`) at the top level.
|
||||
/// source distributions (e.g., `.tar.gz` or `.zip`) at the top level.
|
||||
///
|
||||
/// If a URL, the page must contain a flat list of links to package files adhering to the
|
||||
/// formats described above.
|
||||
|
|
|
@ -128,7 +128,8 @@ A `subdirectory` may be specified if the package isn't in the repository root.
|
|||
### URL
|
||||
|
||||
To add a URL source, provide a `https://` URL to either a wheel (ending in `.whl`) or a source
|
||||
distribution (ending in `.zip` or `.tar.gz`).
|
||||
distribution (typically ending in `.tar.gz` or `.zip`; see
|
||||
[here](../concepts/resolution.md#source-distribution) for all supported formats).
|
||||
|
||||
For example:
|
||||
|
||||
|
@ -149,13 +150,14 @@ httpx = { url = "https://files.pythonhosted.org/packages/5c/2d/3da5bdf4408b8b280
|
|||
```
|
||||
|
||||
URL dependencies can also be manually added or edited in the `pyproject.toml` with the
|
||||
`{ url = <url> }` syntax. A `subdirectory` may be specified if the if the source distribution isn't
|
||||
in the archive root.
|
||||
`{ url = <url> }` syntax. A `subdirectory` may be specified if the source distribution isn't in the
|
||||
archive root.
|
||||
|
||||
### Path
|
||||
|
||||
To add a path source, provide the path of a wheel (ending in `.whl`), a source distribution (ending
|
||||
in `.zip` or `.tar.gz`), or a directory containing a `pyproject.toml`.
|
||||
To add a path source, provide the path of a wheel (ending in `.whl`), a source distribution
|
||||
(typically ending in `.tar.gz` or `.zip`; see [here](../concepts/resolution.md#source-distribution)
|
||||
for all supported formats), or a directory containing a `pyproject.toml`.
|
||||
|
||||
For example:
|
||||
|
||||
|
|
|
@ -560,9 +560,9 @@ To distribute your project to others (e.g., to upload it to an index like PyPI),
|
|||
build it into a distributable format.
|
||||
|
||||
Python projects are typically distributed as both source distributions (sdists) and binary
|
||||
distributions (wheels). The former is a `.tar.gz` file containing the project's source code along
|
||||
with some additional metadata, while the latter is a `.whl` file containing pre-built artifacts that
|
||||
can be installed directly.
|
||||
distributions (wheels). The former is typically a `.tar.gz` or `.zip` file containing the project's
|
||||
source code along with some additional metadata, while the latter is a `.whl` file containing
|
||||
pre-built artifacts that can be installed directly.
|
||||
|
||||
`uv build` can be used to build both source distributions and binary distributions for your project.
|
||||
By default, `uv build` will build the project in the current directory, and place the built
|
||||
|
|
|
@ -296,6 +296,18 @@ To ensure reproducibility, messages for unsatisfiable resolutions will not menti
|
|||
distributions were excluded due to the `--exclude-newer` flag — newer distributions will be treated
|
||||
as if they do not exist.
|
||||
|
||||
## Source distribution
|
||||
|
||||
Most packages publish their source distributions as gzip tarball (`.tar.gz`) or zip (`.zip`)
|
||||
archives. While less common, other formats are also supported when reading and extracting source
|
||||
distributions:
|
||||
|
||||
- bzip2 tarball (`.tar.bz2`)
|
||||
- gzip tarball (`.tar.gz`)
|
||||
- xz tarball (`.tar.xz`)
|
||||
- zip (`.zip`)
|
||||
- zstd tarball (`.tar.zst`)
|
||||
|
||||
## Learn more
|
||||
|
||||
For more details about the internals of the resolver, see the
|
||||
|
|
|
@ -136,7 +136,7 @@ uv run [OPTIONS] <COMMAND>
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -610,7 +610,7 @@ uv add [OPTIONS] <PACKAGES|--requirements <REQUIREMENTS>>
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -910,7 +910,7 @@ uv remove [OPTIONS] <PACKAGES>...
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -1198,7 +1198,7 @@ uv sync [OPTIONS]
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -1479,7 +1479,7 @@ uv lock [OPTIONS]
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -1742,7 +1742,7 @@ uv export [OPTIONS]
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -2028,7 +2028,7 @@ uv tree [OPTIONS]
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -2383,7 +2383,7 @@ uv tool run [OPTIONS] [COMMAND]
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -2651,7 +2651,7 @@ uv tool install [OPTIONS] <PACKAGE>
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -2919,7 +2919,7 @@ uv tool upgrade [OPTIONS] <NAME>...
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -4302,7 +4302,7 @@ uv pip compile [OPTIONS] <SRC_FILE>...
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -4674,7 +4674,7 @@ uv pip sync [OPTIONS] <SRC_FILE>...
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -5000,7 +5000,7 @@ uv pip install [OPTIONS] <PACKAGE|--requirement <REQUIREMENT>|--editable <EDITAB
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -6057,7 +6057,7 @@ uv venv [OPTIONS] [PATH]
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
@ -6282,7 +6282,7 @@ uv build [OPTIONS] [SRC]
|
|||
<p>May also be set with the <code>UV_EXTRA_INDEX_URL</code> environment variable.</p>
|
||||
</dd><dt><code>--find-links</code>, <code>-f</code> <i>find-links</i></dt><dd><p>Locations to search for candidate distributions, in addition to those found in the registry indexes.</p>
|
||||
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (<code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
<p>If a path, the target must be a directory that contains packages as wheel files (<code>.whl</code>) or source distributions (e.g., <code>.tar.gz</code> or <code>.zip</code>) at the top level.</p>
|
||||
|
||||
<p>If a URL, the page must contain a flat list of links to package files adhering to the formats described above.</p>
|
||||
|
||||
|
|
|
@ -370,7 +370,7 @@ Locations to search for candidate distributions, in addition to those found in t
|
|||
indexes.
|
||||
|
||||
If a path, the target must be a directory that contains packages as wheel files (`.whl`) or
|
||||
source distributions (`.tar.gz` or `.zip`) at the top level.
|
||||
source distributions (e.g., `.tar.gz` or `.zip`) at the top level.
|
||||
|
||||
If a URL, the page must contain a flat list of links to package files adhering to the
|
||||
formats described above.
|
||||
|
@ -1662,7 +1662,7 @@ Locations to search for candidate distributions, in addition to those found in t
|
|||
indexes.
|
||||
|
||||
If a path, the target must be a directory that contains packages as wheel files (`.whl`) or
|
||||
source distributions (`.tar.gz` or `.zip`) at the top level.
|
||||
source distributions (e.g., `.tar.gz` or `.zip`) at the top level.
|
||||
|
||||
If a URL, the page must contain a flat list of links to package files adhering to the
|
||||
formats described above.
|
||||
|
|
4
uv.schema.json
generated
4
uv.schema.json
generated
|
@ -118,7 +118,7 @@
|
|||
}
|
||||
},
|
||||
"find-links": {
|
||||
"description": "Locations to search for candidate distributions, in addition to those found in the registry indexes.\n\nIf a path, the target must be a directory that contains packages as wheel files (`.whl`) or source distributions (`.tar.gz` or `.zip`) at the top level.\n\nIf a URL, the page must contain a flat list of links to package files adhering to the formats described above.",
|
||||
"description": "Locations to search for candidate distributions, in addition to those found in the registry indexes.\n\nIf a path, the target must be a directory that contains packages as wheel files (`.whl`) or source distributions (e.g., `.tar.gz` or `.zip`) at the top level.\n\nIf a URL, the page must contain a flat list of links to package files adhering to the formats described above.",
|
||||
"type": [
|
||||
"array",
|
||||
"null"
|
||||
|
@ -698,7 +698,7 @@
|
|||
}
|
||||
},
|
||||
"find-links": {
|
||||
"description": "Locations to search for candidate distributions, in addition to those found in the registry indexes.\n\nIf a path, the target must be a directory that contains packages as wheel files (`.whl`) or source distributions (`.tar.gz` or `.zip`) at the top level.\n\nIf a URL, the page must contain a flat list of links to package files adhering to the formats described above.",
|
||||
"description": "Locations to search for candidate distributions, in addition to those found in the registry indexes.\n\nIf a path, the target must be a directory that contains packages as wheel files (`.whl`) or source distributions (e.g., `.tar.gz` or `.zip`) at the top level.\n\nIf a URL, the page must contain a flat list of links to package files adhering to the formats described above.",
|
||||
"type": [
|
||||
"array",
|
||||
"null"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue