Registry / devops / update-checker

update-checker

JSON →
library1.0.0pypypi✓ verified 24d ago

update-checker is a Python module (current version 0.18.0, last updated August 2020) that programmatically checks for updates to Python packages. It provides a simple API to determine if a newer version of a specified package is available. The library's release cadence appears to be infrequent, with the last update several years ago.

pip install update-checker
INSTALL
IMPORT
SIG · UPDATE-CHECKER
U
update-checker
devopspythonv1.0.0
Install
1.7s avg
Import
305ms
Disk
16MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.0.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.322s · 17.8MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.7s · import 0.288s · 18MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

UpdateChecker
from update_checker import UpdateChecker

This quickstart demonstrates how to instantiate the `UpdateChecker` and use its `check` method to query for available updates for a given package and its current version. The `result` object provides details about the update if one is found.

from update_checker import UpdateChecker checker = UpdateChecker() # Replace 'your_package_name' and '0.0.1' with actual package details # For example, to check for updates to 'praw' with current version '0.0.1' result = checker.check('praw', '0.0.1') if result: # result is None when an update was not found or a failure occurred # result is an UpdateResult object with attributes like: # available_version, package_name, running_version, release_date print(f"An update is available for {result.package_name}!") print(f"Current version: {result.running_version}, Available version: {result.available_version}") if result.release_date: print(f"Release date of new version: {result.release_date}") else: print("No update found or an error occurred.")
Debug
Known issues
breakingThe library explicitly states: 'Only whitelisted packages can be checked for updates. Contact update_checker's author for information on adding a package to the whitelist.' This means it may not work for arbitrary packages you wish to check unless they are on the author's whitelist.
fix
Before integrating, verify if the package you intend to monitor is whitelisted. If not, consider contributing to the project or using an alternative update checking mechanism.
affects: All versions (0.1.0 - 0.18.0)
gotchaThis library only *checks* for updates; it does not *perform* the update itself. Users are responsible for implementing the logic to download and install newer package versions.
fix
Understand that 'update-checker' is purely for notification. You will need to use `pip` or other package management tools in your deployment process to apply any identified updates.
affects: All versions (0.1.0 - 0.18.0)
gotchaThe library has not been updated since August 2020. While it may still function, there's a risk it might not be compatible with newer Python versions or changes in PyPI's API, or may contain unpatched vulnerabilities.
fix
Exercise caution and thorough testing if using with Python versions released after 2020. Consider alternative, more actively maintained libraries for update checking if this becomes a concern.
affects: All versions post 0.18.0 functionality (effectively, no new releases)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'update_checker'
The 'update-checker' package is not installed in the current Python environment or the package name is misspelled during import.
fix
Install the package using pip: `pip install update-checker` or ensure you are in the correct virtual environment.
SyntaxError: invalid syntax
Hyphens in module names (e.g., 'update-checker') are not allowed in Python import statements, as they are interpreted as subtraction operators.
fix
The correct module name for import uses an underscore: `from update_checker import UpdateChecker`.
AttributeError: 'NoneType' object has no attribute 'has_update'
The `update_checker.check()` method returned `None`, indicating it could not retrieve update information (e.g., package not found on PyPI, network error, or invalid input), and the code did not handle this `None` case before attempting to access its attributes.
fix
Always check if the result of `checker.check()` is not `None` before accessing its attributes:
```python
from update_checker import UpdateChecker
checker = UpdateChecker('your-package', '1.0.0')
update_info = checker.check()
if update_info: # Add this check
    if update_info.has_update:
        print(f'Update available: {update_info.latest_version}')
else:
    print('Could not retrieve update information.')
```
xmlrpc.client.Fault: <Fault 1: 'unsupported operand type(s) for +: 'int' and 'str''>
The `package_name` or `current_version` arguments passed to `UpdateChecker` are not strings, leading to a type mismatch when the XML-RPC client tries to construct the request to PyPI.
fix
Ensure both `package_name` and `current_version` are passed as strings to the `UpdateChecker` constructor:
```python
from update_checker import UpdateChecker
# Fix: Ensure all arguments are strings
checker = UpdateChecker('requests', '1.0.0') 
update_info = checker.check()
```
Upgrade
Version history
1.0.0latest on PyPI · released Jun 8, 2026
Audit
Dependencies
requestsrequiredUsed for making HTTP requests to PyPI to check for updates.
Agent activity
9 hits · last 30 days
node
8
Resources
update-checker — pip install update-checker · libregistry