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

Uploaded Python 3Windows x86-64

upd_cli-0.0.3-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.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

upd_cli-0.0.3-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.3-py3-none-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

upd_cli-0.0.3-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.3.tar.gz.

File metadata

  • Download URL: upd_cli-0.0.3.tar.gz
  • Upload date:
  • Size: 41.6 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.3.tar.gz
Algorithm Hash digest
SHA256 e063131c64661e6bf956f5686c0c318643cc18e4bca164f5f47129c053cf7818
MD5 e8d9388dc08693b2633ff53d03029853
BLAKE2b-256 6ba48f1e109c0a77d3184a1a5cf6e2544e5f9c9f6544b1b44283487ce3e71f25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: upd_cli-0.0.3-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.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9903ba59fb454a6c072727f72346943668440da7139963060d7ca6059bfadbfd
MD5 c871cfabd4760f20bc1ad286c170d44e
BLAKE2b-256 fe6d6761105cf281d6b1dc8962d7da15706b986195861cfc344a53cf300a0077

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for upd_cli-0.0.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1d891d813285534c9f811e09ca924ec637606288ffa8047a54db2fb967ba8e1a
MD5 6b62d3755768b53a4ef3142cacd8f1d5
BLAKE2b-256 19f4983866ea7f82fc678c9b04803ce289b261df6ce4b4b20233944b023674ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for upd_cli-0.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9580822530ba4b5cbb5bda3e3d082d60837c997b845d3b5d9f619da3a37abd74
MD5 0a3ccf1986d57a6b5685c347dbb04c80
BLAKE2b-256 956e37f5e263da6a4434e604757d9a8a908a97406c78b87545e3dfc1ddbb5119

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for upd_cli-0.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2a20c4de2f2673aae3d123bbd2c447fdc8b19e44a12be6642a4734e87d3be41b
MD5 8e4a6b9cdcf56582f7442dc52dc2d2f4
BLAKE2b-256 42b499acf795645f09a0bd0b15cc909ab40c5f5262a10b5f2c65eb6123a9609b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for upd_cli-0.0.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53b8bc43d5a364ab333b4dd978ff4e8ef4a8123c7968f8e7936dacba3055f04d
MD5 ce96fc45a8ef529999b15024ae0cb21d
BLAKE2b-256 b9c18df9b45cfb45bbdfcac533c99290f94b2e6007c02bc0ee5b1768e06fedfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for upd_cli-0.0.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ae8bf5432c8a6ac910b15ea359271080ccb354a4ba97ad152a1c5eaa65827fe1
MD5 727de7e61ce0566ff7ed95e98c30aed4
BLAKE2b-256 56220f9b935b749aeca8b0644f394c2112263aea799e230c5129191f638fa43d

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