Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: list supported sdist formats #7168

Merged

Conversation

mkniewallner
Copy link
Contributor

@mkniewallner mkniewallner commented Sep 7, 2024

Summary

Explicitly list the formats and extensions that uv supports, based on this list. 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.

@mkniewallner mkniewallner force-pushed the docs/list-supported-sdist-formats branch 2 times, most recently from ea04da1 to a455ce9 Compare September 7, 2024 14:35
@mkniewallner mkniewallner force-pushed the docs/list-supported-sdist-formats branch from a455ce9 to 3f80bfe Compare September 7, 2024 14:37
@@ -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 (usually `.tar.gz` or `.zip`) at the top level.
Copy link
Contributor Author

@mkniewallner mkniewallner Sep 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initially wanted to also add a link to the new section here, but the code generating markdown pages outputs all links with <a> HTML tags, which made it not possible to have both a correct link and mkdocs not complaining about the link not existing in strict mode. Since there are no other links to other internal pages here and in settings.rs, I assumed that this is simply not yet supported by the code generating markdown pages, so left this out for now.

@mkniewallner mkniewallner marked this pull request as ready for review September 7, 2024 14:56
Copy link
Member

@zanieb zanieb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like a reasonable place to me right now. I guess we'll need like a "Distributions" concept page? Now that we have a uv build command it makes a bit more sense. I can open a tracking issue for that.

Should we say "i.e." or "e.g." instead of "usually" in those CLI docs?

@mkniewallner
Copy link
Contributor Author

Should we say "i.e." or "e.g." instead of "usually" in those CLI docs?

Good idea, went with .e.g. since it's a subset of the actually supported formats, so thought it makes more sense.

@zanieb
Copy link
Member

zanieb commented Sep 7, 2024

Charlie will want "e.g.," haha (per our style guide)

@mkniewallner
Copy link
Contributor Author

mkniewallner commented Sep 7, 2024

Charlie will want "e.g.," haha (per our style guide)

Thanks to that, TIL about yet another thing that is different between American and British English 😄 https://jakubmarian.com/comma-after-i-e-and-e-g/

Copy link
Member

@charliermarsh charliermarsh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@charliermarsh charliermarsh added the documentation Improvements or additions to documentation label Sep 7, 2024
@charliermarsh charliermarsh enabled auto-merge (squash) September 7, 2024 19:10
@charliermarsh charliermarsh merged commit 8341d81 into astral-sh:main Sep 7, 2024
57 checks passed
@@ -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`)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should clarify that PEP 625 has decided that .tar.gz is the canonical source distribution filename, all other extensions should be considered legacy or experimental.

@mkniewallner mkniewallner deleted the docs/list-supported-sdist-formats branch September 8, 2024 14:38
charliermarsh pushed a commit that referenced this pull request Sep 8, 2024
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Sep 11, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.4.4` -> `0.4.9` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

### [`v0.4.9`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#049)

[Compare Source](astral-sh/uv@0.4.8...0.4.9)

##### Enhancements

-   Add support for managed Python 3.13 ([#&#8203;7263](astral-sh/uv#7263))
-   Upgrade managed CPython versions to latest patch releases ([#&#8203;7263](astral-sh/uv#7263))
-   Allow setting a target version for `uv self update` ([#&#8203;7252](astral-sh/uv#7252))
-   Create `py.typed` files during `uv init --lib` ([#&#8203;7232](astral-sh/uv#7232))
-   Add a dedicated error for packages that fail due to `distutils` deprecation ([#&#8203;7239](astral-sh/uv#7239))
-   Improve error message when requested Python version is unsupported ([#&#8203;7269](astral-sh/uv#7269))
-   Add `uv run --no-sync` ([#&#8203;7192](\(astral-sh/uv#7192))

##### Bug fixes

-   Avoid updating `pyproject.toml` offsets on non-add edits ([#&#8203;7262](astral-sh/uv#7262))
-   Invalidate cache when `--config-settings` change ([#&#8203;7139](astral-sh/uv#7139))
-   Remove workspace root for single-member workspace with `uv export` ([#&#8203;7254](astral-sh/uv#7254))

### [`v0.4.8`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#048)

[Compare Source](astral-sh/uv@0.4.7...0.4.8)

##### Enhancements

-   Add support for dynamic cache keys ([#&#8203;7136](astral-sh/uv#7136))
-   Allow `.dist-info` names with dashes for post releases ([#&#8203;7208](astral-sh/uv#7208))
-   Use type hints in code from `uv init` ([#&#8203;7225](astral-sh/uv#7225))
-   Treat `.tgz` the same as `.tar.gz` ([#&#8203;7201](astral-sh/uv#7201))
-   Direct users towards `uv venv` to create a virtual environment ([#&#8203;7188](astral-sh/uv#7188))
-   Improve error message for uv init already init-ed ([#&#8203;7198](astral-sh/uv#7198))

##### Performance

-   Avoid batch prefetching for un-optimized registries ([#&#8203;7226](astral-sh/uv#7226))
-   Avoid iteration for singleton selections ([#&#8203;7195](astral-sh/uv#7195))

##### Bug fixes

-   Avoid extra newlines in debug logging for source builds ([#&#8203;7174](astral-sh/uv#7174))
-   Prune unreachable packages from `--universal` output ([#&#8203;7209](astral-sh/uv#7209))
-   Respect exclusion when collecting workspace members ([#&#8203;7175](astral-sh/uv#7175))
-   Use path file instead of `sitecustomize.py` ([#&#8203;7161](astral-sh/uv#7161))
-   Replace incorrect `--source` and `--binary` flags with correct `--sdist` and `--wheel` flags in `uv build` ([#&#8203;7156](astral-sh/uv#7156))

##### Documentation

-   Document support for `UV_INSTALL_DIR` ([#&#8203;7107](astral-sh/uv#7107))
-   List all supported sdist formats ([#&#8203;7168](astral-sh/uv#7168))

### [`v0.4.7`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#047)

[Compare Source](astral-sh/uv@0.4.6...0.4.7)

##### Enhancements

-   Add `--no-emit-project` and friends to `uv export` ([#&#8203;7110](astral-sh/uv#7110))
-   Add `--output-file` to `uv export` ([#&#8203;7109](astral-sh/uv#7109))
-   Prune unused source distributions from the cache in `uv cache prune` ([#&#8203;7112](astral-sh/uv#7112))
-   Take intersection of constraint and requirements hashes ([#&#8203;7108](astral-sh/uv#7108))

##### Performance

-   Skip metadata fetch for `--no-deps` and `pip sync` ([#&#8203;7127](astral-sh/uv#7127))

##### Bug fixes

-   Avoid panicking when encountering an invalid Python version during `uv python list` ([#&#8203;7131](astral-sh/uv#7131))
-   Write trailing newline to `.python-version` files ([#&#8203;7140](astral-sh/uv#7140))

### [`v0.4.6`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#046)

[Compare Source](astral-sh/uv@0.4.5...0.4.6)

##### Enhancements

-   Accept `--build-constraints` in `uv build` ([#&#8203;7085](astral-sh/uv#7085))
-   Add `--require-hashes` and `--verify-hashes` to `uv build` ([#&#8203;7094](astral-sh/uv#7094))
-   Add `--show-version-specifiers` to `uv tool list` ([#&#8203;7050](astral-sh/uv#7050))
-   Respect hashes in constraints files ([#&#8203;7093](astral-sh/uv#7093))
-   Upgrade installer scripts ([#&#8203;7092](astral-sh/uv#7092))
-   Allow specifying multiple packages in `uv tool upgrade` and `uninstall` ([#&#8203;7037](astral-sh/uv#7037))
-   Sort by implementation in `uv python list` ([#&#8203;6918](astral-sh/uv#6918))

##### Bug fixes

-   Invalidate lockfile when member versions change ([#&#8203;7102](astral-sh/uv#7102))
-   Strip fragments from direct source URLs in lockfile ([#&#8203;7061](astral-sh/uv#7061))
-   Support `--no-build` and `--no-binary` in `uv sync` et al ([#&#8203;7100](astral-sh/uv#7100))
-   Use distribution hash over registry hash ([#&#8203;7060](astral-sh/uv#7060))
-   Fix inverted log message ([#&#8203;7063](astral-sh/uv#7063))
-   Adjust Docker `ENTRYPOINT` and `CMD` for inherited images ([#&#8203;7054](astral-sh/uv#7054))

##### Documentation

-   Add winget to installers ([#&#8203;7088](astral-sh/uv#7088))
-   Document how to disable path modifications during install ([#&#8203;7090](astral-sh/uv#7090))
-   Document how to manually update locked package version ([#&#8203;7083](astral-sh/uv#7083))
-   Document official `setup-uv` action ([#&#8203;7056](astral-sh/uv#7056))
-   Update docs on `.python-version` file ([#&#8203;7051](astral-sh/uv#7051))

### [`v0.4.5`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#045)

[Compare Source](astral-sh/uv@0.4.4...0.4.5)

##### Enhancements

-   Implement `uv build` ([#&#8203;6895](astral-sh/uv#6895))
-   Add `--package` support to `uv build` ([#&#8203;6990](astral-sh/uv#6990))
-   Prune unreachable packages from lockfile ([#&#8203;6959](astral-sh/uv#6959))
-   Prune unreachable wheels from lockfile ([#&#8203;6961](astral-sh/uv#6961))
-   Show build output by default in `uv build` ([#&#8203;6912](astral-sh/uv#6912))
-   Support `uv build --wheel` from source distributions ([#&#8203;6898](astral-sh/uv#6898))
-   Use the root project name for the project virtual environment prompt ([#&#8203;7021](astral-sh/uv#7021))

##### Bug fixes

-   Fix handling of inline optional dependencies in `uv add` ([#&#8203;7023](astral-sh/uv#7023))
-   Reflect exit code in `uv tool run` and `uv run` ([#&#8203;6994](astral-sh/uv#6994))
-   Revert `pyproject.toml` modifications on Ctrl-C ([#&#8203;7024](astral-sh/uv#7024))
-   Rollback `pyproject.toml` changes on all errors ([#&#8203;7022](astral-sh/uv#7022))
-   Use correct ordering semantics for narrowing upper-bounded Python requirements ([#&#8203;7031](astral-sh/uv#7031))
-   Fix segfault in Windows trampolines ([#&#8203;6955](astral-sh/uv#6955))
-   Remove unused `__future__.annotations` import in `_virtualenv.py` ([#&#8203;6996](astral-sh/uv#6996))

##### Documentation

-   Add documentation for `uv build` ([#&#8203;6991](astral-sh/uv#6991))
-   Add note to `extra` and `all-extras` in `uv sync` help ([#&#8203;7013](astral-sh/uv#7013))
-   Add project docs for `project.scripts` ([#&#8203;7010](astral-sh/uv#7010))
-   Fix available Docker image tag rendering and shorten list ([#&#8203;7017](astral-sh/uv#7017))
-   Touchup to the project environment config section ([#&#8203;7038](astral-sh/uv#7038))
-   Clarify precedence of `uv.toml` ([#&#8203;6986](astral-sh/uv#6986))
-   Fix available Docker tags for `-slim` variants ([#&#8203;7041](astral-sh/uv#7041))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants