github astral-sh/uv 0.5.17

latest release: 0.5.18
19 hours ago

Release Notes

This release includes support for generating lockfiles from scripts based on inline metadata, as defined in PEP 723.

By default, scripts remain unlocked, and must be locked explicitly with uv lock --script /path/to/script.py, which will generate a lockfile adjacent to the script (e.g., script.py.lock). Once generated, the lockfile will be respected (and updated, if necessary) across uv run --script, uv add --script, and uv remove --script invocations.

This release also includes support for uv export --script and uv tree --script. Both commands support PEP 723 scripts with and without accompanying lockfiles.

Enhancements

  • Add support for locking PEP 723 scripts (#10135)
  • Respect PEP 723 script lockfiles in uv run (#10136)
  • Update PEP 723 lockfile in uv add --script (#10145)
  • Update PEP 723 lockfile in uv remove --script (#10162)
  • Add --script support to uv export for PEP 723 scripts (#10160)
  • Add --script support to uv tree for PEP 723 scripts (#10159)
  • Add ls alias to uv {tool, python, pip} list (#10240)
  • Allow reading --with-requirements from stdin in uv add and uv run (#10447)
  • Warn-and-ignore for unsupported requirements.txt options (#10420)

Preview features

  • Add remaining Python type annotations to build backend (#10434)

Performance

  • Avoid allocating for names in the PEP 508 parser (#10476)
  • Fetch concurrently for non-first-match index strategies (#10432)
  • Remove unnecessary .to_string() call (#10419)
  • Respect sentinels in package prioritization (#10443)
  • Use ArcStr for marker values (#10453)
  • Use ArcStr for package, extra, and group names (#10475)
  • Use matches! rather than contains in requirements.txt parsing (#10423)
  • Use faster disjointness check for markers (#10439)
  • Pre-compute PEP 508 markers from universal markers (#10472)

Bug fixes

  • Fix UV_FIND_LINKS delimiter to split on commas (#10477)
  • Improve uv tool list output when tool environment is broken (#10409)
  • Only track markers for compatible versions (#10457)
  • Respect requires-python when installing tools (#10401)
  • Visit proxy packages eagerly (#10441)
  • Improve shell compatibility of venv activate scripts (#10397)
  • Read publish username from URL (#10469)

Documentation

  • Add Lambda layer instructions to AWS Lambda guide (#10411)
  • Add uv lock --script to the docs (#10414)
  • Use Windows-specific instructions in Jupyter guide (#10446)

Install uv 0.5.17

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.5.17/uv-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/uv/releases/download/0.5.17/uv-installer.ps1 | iex"

Download uv 0.5.17

File Platform Checksum
uv-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
uv-x86_64-apple-darwin.tar.gz Intel macOS checksum
uv-i686-pc-windows-msvc.zip x86 Windows checksum
uv-x86_64-pc-windows-msvc.zip x64 Windows checksum
uv-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
uv-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
uv-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
uv-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
uv-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
uv-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
uv-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
uv-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
uv-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
uv-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
uv-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
uv-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Don't miss a new uv release

NewReleases is sending notifications on new releases.