Skip to main content

Interactive dependency updater for uv projects

Project description

UVLIFT

Interactive dependency updater for uv projects.

Installation

cargo build --release
cp target/release/uvlift ~/.local/bin/

If you control the PyPI name:

uvx uvlift

uvx installs Python packages, not Cargo crates. The pyproject.toml in this repo uses maturin to package the Rust binary for that flow.

Local smoke test:

uvx --from . uvlift

For "just works" installs, publish wheels for macOS, Linux, and Windows. If PyPI only has an sdist, users need a Rust toolchain.

Usage

Run inside a repo containing one or more pyproject.toml files:

uvlift

Keys:

  • ↑/↓ or j/k: navigate
  • Space: toggle selection
  • a: select all outdated
  • u: toggle only outdated
  • r: refresh versions for current project
  • Enter: continue/confirm
  • ←: back
  • y/n: confirm/cancel
  • q or Esc: quit

On apply, uvlift updates the selected requirement strings in pyproject.toml and then runs uv lock in that project directory. If uv lock fails, the manifest is restored.

Scope

  • Scans:
    • [project].dependencies
    • [project.optional-dependencies]
    • [dependency-groups]
  • Skips dependencies managed by [tool.uv.sources]
  • Supports updating only single-clause version specs:
    • ==
    • ~=
    • >=
  • Fails loud on unsupported dependency specs instead of rewriting them incorrectly

Unsupported examples:

  • unpinned requirements like "httpx"
  • multi-clause ranges like "httpx>=0.27,<1"
  • direct URL requirements
  • source-managed requirements via tool.uv.sources

Requirements

  • Rust toolchain
  • uv
  • Python projects with pyproject.toml files

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uvlift-1.1.0.tar.gz (116.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

uvlift-1.1.0-py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 3Windows x86-64

uvlift-1.1.0-py3-none-manylinux_2_28_aarch64.whl (3.2 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uvlift-1.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

uvlift-1.1.0-py3-none-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file uvlift-1.1.0.tar.gz.

File metadata

  • Download URL: uvlift-1.1.0.tar.gz
  • Upload date:
  • Size: 116.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uvlift-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f352685f64e286472cb60543393c341afc87ba0eb44d9e6bf14bb181e611979b
MD5 9e804da17726337e75ca0636f13a95b1
BLAKE2b-256 b199dc467ceede528d8a1209701dec138f116d0b061d37a4cea139901c56d3d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.0.tar.gz:

Publisher: publish.yml on obviyus/uvlift

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uvlift-1.1.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: uvlift-1.1.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uvlift-1.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 3169772add8e729b5c177bd3ba155ec6512541aabeadc2be64c96f1994226f41
MD5 b7eed853fd56eda57a12623fc31c6458
BLAKE2b-256 e1abd862209d9f5c54ba98751ec292303318c72564d72a6c0b06fb679cf6fc5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.0-py3-none-win_amd64.whl:

Publisher: publish.yml on obviyus/uvlift

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uvlift-1.1.0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for uvlift-1.1.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 99040b7e5ea874919b16cd9d79af279b4cfd5463d3fa869b421d03b255dad495
MD5 9c7c6c1111348f9c2fdab2979f685ada
BLAKE2b-256 332733851b4a4e5030bf99e3d4a66b6dd6fc658cf91ec767cb6059604c9a9e4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.0-py3-none-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on obviyus/uvlift

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uvlift-1.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for uvlift-1.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57812a72b3d84c44e47ec9ed6b67cf329f4c13b9c84431553132507f18ea4d3a
MD5 b7a3f9635de43d23c111855cb216f649
BLAKE2b-256 f7605f32f5a8a3bb6bf07c4d33316cc9633c6fc1f6c3285bf97fe498959c4681

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on obviyus/uvlift

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uvlift-1.1.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for uvlift-1.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c113ecb2d8443ac4c2963f6c3f9c0256806ac3f5ae17cecd28e78e4bd8dd95e1
MD5 c528c9a6f44036bb35b41ac99396aaab
BLAKE2b-256 b5b1505ee04059c26bbf52e06b7158b97c4601ce14fbfab5334587223a0ea4bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.0-py3-none-macosx_11_0_arm64.whl:

Publisher: publish.yml on obviyus/uvlift

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page