{"id":3309,"library":"update-checker","title":"Python Package Update Checker","description":"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.","status":"maintenance","version":"0.18.0","language":"en","source_language":"en","source_url":"https://github.com/bboe/update_checker","tags":["package management","updates","PyPI","dependency check"],"install":[{"cmd":"pip install update-checker","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"Used for making HTTP requests to PyPI to check for updates.","package":"requests","optional":false}],"imports":[{"symbol":"UpdateChecker","correct":"from update_checker import UpdateChecker"}],"quickstart":{"code":"from update_checker import UpdateChecker\n\nchecker = UpdateChecker()\n# Replace 'your_package_name' and '0.0.1' with actual package details\n# For example, to check for updates to 'praw' with current version '0.0.1'\nresult = checker.check('praw', '0.0.1')\n\nif result:\n    # result is None when an update was not found or a failure occurred\n    # result is an UpdateResult object with attributes like:\n    # available_version, package_name, running_version, release_date\n    print(f\"An update is available for {result.package_name}!\")\n    print(f\"Current version: {result.running_version}, Available version: {result.available_version}\")\n    if result.release_date:\n        print(f\"Release date of new version: {result.release_date}\")\nelse:\n    print(\"No update found or an error occurred.\")","lang":"python","description":"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."},"warnings":[{"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.","message":"The 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.","severity":"breaking","affected_versions":"All versions (0.1.0 - 0.18.0)"},{"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.","message":"This 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.","severity":"gotcha","affected_versions":"All versions (0.1.0 - 0.18.0)"},{"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.","message":"The 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.","severity":"gotcha","affected_versions":"All versions post 0.18.0 functionality (effectively, no new releases)"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}