Check Python package requirements for updates
Project description
req-update-check
A Python tool to check your requirements.txt file for package updates, with optional file caching for better performance.
Features
- Check for available updates in your requirements.txt file
- Show update severity (major/minor/patch)
- Display package homepages and changelogs when available
- Optional file caching for faster repeated checks
- Support for comments and inline comments in requirements.txt
- Ignores pre-release versions (alpha, beta, release candidates)
Installation
Install from PyPI: (Note: This isn't published yet)
pip install req-update-check
Or install from the private repo directly:
pip install git+https://github.com/ontherivt/req-update-check.git
Or install from source:
git clone https://github.com/ontherivt/req-update-check.git
cd req-update-check
pip install -e .
Usage
Basic usage:
req-update-check requirements.txt
Command Line Options
req-update-check [-h] [--no-cache] [--cache-dir CACHE_DIR] requirements_file
Arguments:
requirements_file: Path to your requirements.txt file
Options:
--no-cache: Disable file caching--cache-dir: Custom cache directory (default:~/.req-update-check-cache)
Example Output
File caching enabled
The following packages need to be updated:
requests: 2.28.0 -> 2.31.0 [minor]
Pypi page: https://pypi.python.org/project/requests/
Homepage: https://requests.readthedocs.io
Changelog: https://requests.readthedocs.io/en/latest/community/updates/#release-history
redis: 4.5.0 -> 5.0.1 [major]
Pypi page: https://pypi.python.org/project/redis/
Homepage: https://github.com/redis/redis-py
Changelog: https://github.com/redis/redis-py/blob/master/CHANGES
Using file Caching
The tool supports file caching to improve performance when checking multiple times. You can configure the cache storage:
req-update-check --cache-dir ~/.your-cache-dir requirements.txt
Requirements.txt Format
The tool supports requirements.txt files with the following formats:
package==1.2.3
package == 1.2.3 # with spaces
package==1.2.3 # with inline comments
# Full line comments
Note: Currently only supports exact version specifiers (==). Support for other specifiers (like >=, ~=) is planned for future releases.
Python API
You can also use req-update-check as a Python library:
from req_update_check import Requirements
# Without file cache
req = Requirements('requirements.txt', allow_cache=False)
req.check_packages()
req.report()
# With file cache defaults
req = Requirements('requirements.txt')
req.check_packages()
req.report()
Development
To set up for development:
- Clone the repository
- Create a virtual environment:
python -m venv venv - Activate the virtual environment:
source venv/bin/activate(Unix) orvenv\Scripts\activate(Windows) - Install development dependencies:
pip install -e ".[dev]"
To run tests:
python -m unittest
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file req_update_check-0.1.1.tar.gz.
File metadata
- Download URL: req_update_check-0.1.1.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b783e3a8beb548aa3c69f800eee83452b7f3d57eb385e9b077382511e680675
|
|
| MD5 |
3972ba2257c2e9c994f9001c34c9eccb
|
|
| BLAKE2b-256 |
fcdbc33764e2e7476f4ed5f29da20e6379b4a947620bb0cf89ecb1325b2f8766
|
File details
Details for the file req_update_check-0.1.1-py3-none-any.whl.
File metadata
- Download URL: req_update_check-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22f32da8c68a0d2faab253a846711c3d23c8a363bafae60fbd6e7cf18a9a25d7
|
|
| MD5 |
8879c632a733a5512bd8f89d960cd389
|
|
| BLAKE2b-256 |
fb3a7f6eb1e23b61b629b2df02a69531f5f1ffc10d3b2a14614259567bb1c898
|