Skip to content

Commit

Permalink
treat .tgz the same as .tar.gz (#7201)
Browse files Browse the repository at this point in the history
## Summary

Fixes #7081 

Treats source distribution `.tgz` the same as `.tar.gz` plans

## Test Plan

Quick Version

```bash
cd $(mktemp -d)
uv init
uv add --dev build
.venv/bin/python -m build -s .
mv -v dist/*tar.gz dist/"$(basename dist/*.tar.gz .tar.gz)".tgz
uv pip install dist/*.tgz
```

Can add a proper test to the branch if requested
  • Loading branch information
soof-golan authored Sep 8, 2024
1 parent 64e03ad commit 14ebc39
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 3 deletions.
3 changes: 2 additions & 1 deletion crates/distribution-filename/src/extension.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ impl SourceDistExtension {
match extension {
"zip" => Ok(Self::Zip),
"gz" if is_tar(path.as_ref()) => Ok(Self::TarGz),
"tgz" => Ok(Self::TarGz),
"bz2" if is_tar(path.as_ref()) => Ok(Self::TarBz2),
"xz" if is_tar(path.as_ref()) => Ok(Self::TarXz),
"zst" if is_tar(path.as_ref()) => Ok(Self::TarZst),
Expand All @@ -94,6 +95,6 @@ impl Display for SourceDistExtension {
pub enum ExtensionError {
#[error("`.whl`, `.zip`, `.tar.gz`, `.tar.bz2`, `.tar.xz`, or `.tar.zst`")]
Dist,
#[error("`.zip`, `.tar.gz`, `.tar.bz2`, `.tar.xz`, or `.tar.zst`")]
#[error("`.zip`, `.tar.gz`, `.tgz`, `.tar.bz2`, `.tar.xz`, or `.tar.zst`")]
SourceDist,
}
2 changes: 1 addition & 1 deletion crates/uv/tests/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -816,7 +816,7 @@ fn wheel_from_sdist() -> Result<()> {
----- stderr -----
Building wheel from source distribution...
error: `dist/project-0.1.0-py3-none-any.whl` is not a valid build source. Expected to receive a source directory, or a source distribution ending in one of: `.zip`, `.tar.gz`, `.tar.bz2`, `.tar.xz`, or `.tar.zst`.
error: `dist/project-0.1.0-py3-none-any.whl` is not a valid build source. Expected to receive a source directory, or a source distribution ending in one of: `.zip`, `.tar.gz`, `.tgz`, `.tar.bz2`, `.tar.xz`, or `.tar.zst`.
"###);

Ok(())
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/resolution.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ formats, which need to be supported for backward compatibility, were also allowe
reading and extracting archives in the following formats:

- bzip2 tarball (`.tar.bz2`)
- gzip tarball (`.tar.gz`)
- gzip tarball (`.tar.gz`, `.tgz`)
- xz tarball (`.tar.xz`)
- zip (`.zip`)
- zstd tarball (`.tar.zst`)
Expand Down

0 comments on commit 14ebc39

Please sign in to comment.