Skip to main content

Interactive dependency updater for uv projects

Project description

uvlift

An interactive TUI for updating dependencies in uv-managed Python projects.

Point it at a repo, pick what to update, and uvlift rewrites pyproject.toml and runs uv lock for you. If locking fails, it rolls back.

demo

Installation

# run directly
uvx uvlift

# or install as a tool
uv tool install uvlift

Prebuilt wheels for macOS arm64, Linux x86_64/arm64, and Windows x86_64. Other platforms build from source (requires a Rust toolchain).

Usage

uvlift

Recursively finds all pyproject.toml files under the current directory. If there's only one project, it skips straight to the dependency list.

What it scans

  • [project].dependencies
  • [project.optional-dependencies]
  • [dependency-groups] (PEP 735)

Dependencies in [tool.uv.sources] are skipped automatically.

Supported version specifiers

==, ~=, and >= — single-clause only.

Multi-clause ranges (>=0.27,<1), unpinned deps, direct URLs, and source-managed deps are marked UNSUPPORTED and left untouched.

Building from source

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

The repo uses maturin (bindings = "bin") to package the Rust binary into a Python wheel, which is what makes uvx uvlift work without a Rust toolchain.

# local smoke test
uvx --from . uvlift

Requirements

  • uv on PATH
  • A terminal with cursor-position query support

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.5.tar.gz (170.9 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.5-py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uvlift-1.1.5-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.5-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.5.tar.gz.

File metadata

  • Download URL: uvlift-1.1.5.tar.gz
  • Upload date:
  • Size: 170.9 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.5.tar.gz
Algorithm Hash digest
SHA256 32b56198866593bb7893d2951f9695fe0e61ae57bee74b4b9efa1ae9422a160e
MD5 a35b1f28b8f38f0d98e704b9cde2f986
BLAKE2b-256 93d2ae6d5fbdc87db65706f266a83b8c3e25c1d3f9dc4b0e66b50b99f4d85105

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.5.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.5-py3-none-win_amd64.whl.

File metadata

  • Download URL: uvlift-1.1.5-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.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ddd74eeac4efba004a641d0be52705001763af9be56c964aca314bbdb20ba571
MD5 a8ff2351abf7adcaea5fee7a87694de2
BLAKE2b-256 67024cc87b0d0731c63a6f8f4b16a9283b7e6967d104ce8b2274d0c1eb7f1e49

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.5-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.5-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for uvlift-1.1.5-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6adafd4287468560893b47d25bfc48c41c38b9429c9970cbf7d621bf2d594ac4
MD5 6c752df536430de13382226c8a157e2f
BLAKE2b-256 4edf0cb69b05303751a32648b46c34b6e3cce2d107a63ac5565bbf1bbfd6c947

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.5-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.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for uvlift-1.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8710173c29e72a3514178593fabdd57eb86a679366e09c3adf99b04dbb1b654b
MD5 4282a7daa7bf9ebe4edeb40c22774690
BLAKE2b-256 b06e4d397b07e2706cfc012dbfa87e1ed15e9e0a1af61c3b5dd77eee522ec7f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.5-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.5-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for uvlift-1.1.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1000f6f09b126f63b0cdbb3a17c8d6c27eeec5bc612c46ffd7ba719be59568d1
MD5 30de625cf60ff40e983c0e7a697d71b4
BLAKE2b-256 ebfca7a1736bd2e61960cd3121af28e034b0ff3fad7a1c4c2c58423a73a3467f

See more details on using hashes here.

Provenance

The following attestation bundles were made for uvlift-1.1.5-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