Skip to main content

Update requirements.txt files with latest package versions

Project description

pipup

pipup is a command-line tool that automatically updates your requirements.txt files with the latest package versions from PyPI.

Features

  • Simple to Use: Run with a single command to update all requirements
  • Parallel Processing: Checks multiple packages concurrently for better performance
  • Flexible: Update a specific file or search directories for requirements files
  • Version Constraint Awareness: Handles different version specifiers (==, >=, <=, etc.)
  • Dry Run Mode: Preview changes without modifying files
  • Smart Detection: Preserves comments and formatting in requirements files

Installation

Install from PyPI:

pip install pipup

Usage

Update all requirements files in the current directory and subdirectories:

pipup

Update a specific requirements file:

pipup path/to/requirements.txt

Run in dry-run mode (show changes without modifying files):

pipup --dry-run

Options

positional arguments:
  path                  Directory or specific requirements file path (default: current directory)

options:
  -h, --help            show this help message and exit
  --pattern PATTERN     Glob pattern for finding requirements files (default: **/requirements.txt)
  --sequential          Run updates sequentially (no parallel processing)
  --update-ranges       Update packages with range operators (>=, <=, etc.)
  --dry-run             Show what would be updated without making changes
  --max-workers MAX_WORKERS
                        Maximum number of worker threads (default: 10)

Examples

Update all requirements files in the project:

pipup

Update only a specific service subdirectory:

pipup services/api-service/

Preview updates without making changes:

pipup --dry-run

Update packages with version ranges (>=, <=, etc.):

pipup --update-ranges

Use a custom pattern to find requirements files:

pipup --pattern="**/requirements*.txt"

How It Works

  1. Finds all requirements.txt files in the specified directory (or uses a single file if provided)
  2. For each package with a version specification, it checks for the latest available version using pip index versions
  3. If a newer version is available, it updates the line in the requirements file
  4. By default, only packages with exact version specifiers (==) are updated
  5. Preserves all comments and formatting in the requirements files

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

pip_chronos-0.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file pip_chronos-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pip_chronos-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pip_chronos-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 faa785d9e427de6a903398c3e3cf6d92806aeeba118e2dd132d6de6bd3a776e6
MD5 3eb910d4840ed1a712a2bc1002a378f1
BLAKE2b-256 78fc99011bc254d0bbeeeb127d87f69eaa968b2c84ebebd64cf89f8aaf7ee956

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