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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

uvlift-1.1.4-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.4-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.4.tar.gz.

File metadata

  • Download URL: uvlift-1.1.4.tar.gz
  • Upload date:
  • Size: 170.7 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.4.tar.gz
Algorithm Hash digest
SHA256 762225398c59493a48e0e76270e8e678c8dd29743c851989595b54996d6f3a20
MD5 a1d10c66ba4b0a44347ddefa6c67758f
BLAKE2b-256 8dc68e259b4ede29e0d2e7b5655909a599cf961496940243de659c7d8e355db0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: uvlift-1.1.4-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.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bd8fc5df3d00f1ec0c53ff2f06f514c0ca8c6f34580436c51d185206cf07e58a
MD5 5f3add9a997de964a9bfb3ac8cbc57aa
BLAKE2b-256 2dd8f29eabdf514ed1e87b2d4564ca0546e95b1a0c4a223789c9c952f8c1667a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for uvlift-1.1.4-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 152f4b414f460a06ab0e4a96be2b65da580073400355ff7dc0ed64fc0c54c862
MD5 54240ac4f47c32770e643a289999f230
BLAKE2b-256 5831f18e464e5a279bf0ece7f80cda1910ec39f9d42aa93dec8bb5d8c70cbb16

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for uvlift-1.1.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e0bd60ac1d6c19d5fab2a8dd3d6150b720aa6b6e17fb112ea844590b5c97d10
MD5 0901d92a80b6aea1c697b59865d96be8
BLAKE2b-256 da0258f3ff03c3a1fe074721c58f07acfdd6f63ee5fe1029462e53bc85d6b8cb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for uvlift-1.1.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9181e0472a86ded0c0790e81d290436eb418fd86c47eed6d7a457dde87b02ea
MD5 7dbd7aba748ec7287cdffbba802e5e48
BLAKE2b-256 f60535c164363a897570d9163db840e8c85425aa87099f895a6fd5b2a81024e7

See more details on using hashes here.

Provenance

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