Skip to content

Comments

fix: Handle dotted package names in script path resolution#15300

Merged
zanieb merged 7 commits intoastral-sh:mainfrom
crh23:fix/windows-executable-dotted-names
Aug 15, 2025
Merged

fix: Handle dotted package names in script path resolution#15300
zanieb merged 7 commits intoastral-sh:mainfrom
crh23:fix/windows-executable-dotted-names

Conversation

@crh23
Copy link
Contributor

@crh23 crh23 commented Aug 15, 2025

Summary

Fix WindowsRunnable::from_script_path to correctly append extensions instead of replacing them when resolving executable paths. This resolves #15165 (comment).

  • Add add_extension_to_path helper that appends extensions properly
  • Update extension resolution to use the new helper
  • Add tests

Test Plan

Added unit tests for the new and existing functionality that the change touches. Tested manually locally on Windows.

crh23 added 2 commits August 13, 2025 16:05
Fix WindowsRunnable::from_script_path to correctly append extensions
instead of replacing them when resolving executable paths. This resolves

- Add add_extension_to_path helper that appends extensions properly
- Update extension resolution to use the new helper
- Add tests
@crh23 crh23 force-pushed the fix/windows-executable-dotted-names branch from 2529626 to 95abd25 Compare August 15, 2025 15:37
@crh23 crh23 force-pushed the fix/windows-executable-dotted-names branch from 95abd25 to 34f4920 Compare August 15, 2025 15:40
@zanieb
Copy link
Member

zanieb commented Aug 15, 2025

Could you add an integration test in it/tool_run.rs? e.g., by creating a package in scripts/packages then using uv tool run --from <workspace>/scripts/packages/<name> <name>?

@crh23 crh23 force-pushed the fix/windows-executable-dotted-names branch from 55d056e to d8e6008 Compare August 15, 2025 17:39
@zanieb zanieb marked this pull request as ready for review August 15, 2025 20:56
@zanieb zanieb added the bug Something isn't working label Aug 15, 2025
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.

Thanks! I made some stylistic tweaks.

@zanieb zanieb merged commit 9346b4d into astral-sh:main Aug 15, 2025
179 of 192 checks passed
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Aug 21, 2025
This MR contains the following updates:

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

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.8.12`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0812)

[Compare Source](astral-sh/uv@0.8.11...0.8.12)

##### Python

- Add 3.13.7
- Improve performance of zstd in Python 3.14

See the [python-build-standalone release notes](https://github.com/astral-sh/python-build-standalone/releases/tag/20250818) for details.

##### Enhancements

- Add an `aarch64-pc-windows-msvc` target for `python-platform` ([#&#8203;15347](astral-sh/uv#15347))
- Add fallback parent process detection to `uv tool update-shell` ([#&#8203;15356](astral-sh/uv#15356))
- Install non-build-isolation packages in a second phase ([#&#8203;15306](astral-sh/uv#15306))
- Add hint when virtual environments are included in source distributions ([#&#8203;15202](astral-sh/uv#15202))
- Add Docker images derived from `buildpack-deps:trixie`, `debian:trixie-slim`, `alpine:3.22` ([#&#8203;15351](astral-sh/uv#15351))

##### Bug fixes

- Reject already-installed wheels built with outdated settings ([#&#8203;15289](astral-sh/uv#15289))
- Skip interpreters that are not found on query ([#&#8203;15315](astral-sh/uv#15315))
- Handle dotted package names in script path resolution ([#&#8203;15300](astral-sh/uv#15300))
- Reject `match-runtime = true` for dynamic packages ([#&#8203;15292](astral-sh/uv#15292))

##### Documentation

- Document improvements to build-isolation setups ([#&#8203;15326](astral-sh/uv#15326))
- Fix reference documentation recommendation to use `uv cache clean` instead of `clear` ([#&#8203;15313](astral-sh/uv#15313))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MS43Ni4wIiwidXBkYXRlZEluVmVyIjoiNDEuNzYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

uvx can't find executables on Windows when the package name contains a "."

2 participants