Skip to main content

A fast dependency updater for Python and Node.js projects

Project description

upd

A fast dependency updater for Python and Node.js projects, written in Rust.

Features

  • Multi-format support: Updates requirements.txt, pyproject.toml, and package.json
  • Constraint-aware: Respects version constraints (e.g., >=2.0,<3 won't update to v3.x)
  • Major version warnings: Highlights breaking changes with (MAJOR) indicator
  • Format-preserving: Keeps your file formatting, comments, and structure intact
  • Pre-release filtering: Excludes alpha, beta, and release candidate versions
  • Gitignore-aware: Respects .gitignore patterns when discovering files
  • Fast: Async HTTP requests with caching for quick subsequent runs

Installation

From PyPI

pip install upd
# or with uv
uv pip install upd

From crates.io

cargo install upd

From source

git clone https://github.com/rvben/upd
cd upd
cargo install --path .

Usage

# Update all dependency files in current directory
upd

# Update specific files or directories
upd requirements.txt pyproject.toml

# Dry-run mode (preview changes without writing)
upd -n
upd --dry-run

# Verbose output
upd -v
upd --verbose

# Disable colored output
upd --no-color

# Disable caching
upd --no-cache

Commands

# Show version
upd version

# Check for upd updates
upd self-update

# Clear version cache
upd clean-cache

Supported Files

Python

  • requirements.txt, requirements-dev.txt, requirements-*.txt
  • requirements.in, requirements-dev.in, requirements-*.in
  • dev-requirements.txt, *-requirements.txt, *_requirements.txt
  • pyproject.toml ([project.dependencies] and [project.optional-dependencies])

Node.js

  • package.json (dependencies and devDependencies)

Example Output

pyproject.toml
  Would update requests 2.28.0 → 2.31.0
  Would update flask 2.2.0 → 3.0.0 (MAJOR)

requirements.txt
  Would update pytest 7.2.0 → 7.4.3
  Would update black 23.1.0 → 23.12.1

Would update 4 package(s) (1 major, 2 minor, 1 patch) in 2 file(s), 15 up to date

Version Constraints

upd respects version constraints in your dependency files:

Constraint Behavior
>=2.0,<3 Updates within 2.x range only
^2.0.0 Updates within 2.x range (npm)
~2.0.0 Updates within 2.0.x range (npm)
>=2.0 Updates to any version >= 2.0
==2.0.0 No updates (pinned)

Development

# Build
make build

# Run tests
make test

# Lint
make lint

# Format
make fmt

# All checks
make check

License

MIT

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

upd_cli-0.0.2.tar.gz (39.0 kB view details)

Uploaded Source

Built Distributions

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

upd_cli-0.0.2-py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 3Windows x86-64

upd_cli-0.0.2-py3-none-musllinux_1_2_x86_64.whl (2.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

upd_cli-0.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

upd_cli-0.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

upd_cli-0.0.2-py3-none-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

upd_cli-0.0.2-py3-none-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file upd_cli-0.0.2.tar.gz.

File metadata

  • Download URL: upd_cli-0.0.2.tar.gz
  • Upload date:
  • Size: 39.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for upd_cli-0.0.2.tar.gz
Algorithm Hash digest
SHA256 665170e224ac79145139ddc66d432815f71d242a69b3e3bf7099cc859beac075
MD5 54ca379f13bb233217e900da3d6c62e8
BLAKE2b-256 1ce99057eed62fcdc9e11c6c1b863c462c901ce4d5f500120ac95def2977c159

See more details on using hashes here.

File details

Details for the file upd_cli-0.0.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: upd_cli-0.0.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for upd_cli-0.0.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c9a11a002c89a7266cc84ef4d382253c5aa4be6e7e26879fd4b7826b3efb9fa7
MD5 28d498a83f6ed7ff9979e13a1aaf47a8
BLAKE2b-256 986f40314d1f97f1d04937309494ad7b8433a6dfd5826669d0a2b980cc247db7

See more details on using hashes here.

File details

Details for the file upd_cli-0.0.2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for upd_cli-0.0.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b36fabecefba2f931790eb566c55cf1c2911c8436aa500553330886846b3fad3
MD5 242a584d9530eec49786f4bbeac254f8
BLAKE2b-256 4d3a926ff927ca128f3de39aa3496a539d5100ec0eae4ff7f79f28785a672a13

See more details on using hashes here.

File details

Details for the file upd_cli-0.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for upd_cli-0.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c74abab79bdca7ac3c0e47ec223b0c041655741c779af9ec075443e7d5276494
MD5 cee9fb9301b0888cbc0d256abb00d409
BLAKE2b-256 a9683a454729a8c0d8ed4a4098eae535cce1b67a6dd16837b0457a2514941032

See more details on using hashes here.

File details

Details for the file upd_cli-0.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for upd_cli-0.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c3c1d8eea1a2ba15fa21b34151649abd3d2fbf85d31a5f099bcff2ec4f6c512e
MD5 e235db944affac8c76be02eb0e33850e
BLAKE2b-256 03cf8b07a1c5f264886610d5ee24b4d178c70ef55c0b75869237f7b412e4317d

See more details on using hashes here.

File details

Details for the file upd_cli-0.0.2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for upd_cli-0.0.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a4745da1d1a5abf4ab56e4e0217d381ca6e5129a6e97093c1d0dfa8b53684a3
MD5 75436589ff151020688361df189fb603
BLAKE2b-256 b57b6a255a8c6552a949f4f9842733a772d869dd04ab594dd7677149a7b234d2

See more details on using hashes here.

File details

Details for the file upd_cli-0.0.2-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for upd_cli-0.0.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 27d5409529448d9d87d7590047c0decee02b82df2f70c2d64242d6b93de3eea8
MD5 dc9061878c8ec196cb1061754e0d6e0a
BLAKE2b-256 753fee73c2faadd70edf5bf70ba25f83ec140c6f5eb083d0c933b9e4a7b57fe1

See more details on using hashes here.

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