This is a mini-library which, given a package name and a version, checks if it's the latest version available on PyPI.
pip install outdated
from outdated import warn_if_outdated warn_if_outdated('my-package-name', '1.2.3')
This will not check what version is currently installed, it will only use the given version. Library authors must make sure that the version in their
setup.py matches the version here. See the setup.py here for one easy way to do that.
The package name argument must be exactly the name used on PyPI, so that e.g. https://pypi.python.org/pypi/my-package-name is a valid URL.
True): run the check in a separate thread. Set to
Falseto run immediately.
True, allow exceptions to bubble to the top. Otherwise, show a warning including the exception message. If
Trueand this is
Truethen this will result in a full traceback showing but the process continuing.
from outdated import check_outdated is_outdated, latest_version = check_outdated('my-package-name', '1.2.3')
is_outdated is a boolean which is True if the given version is earlier than the latest version, which is the string
This still makes the HTTP call with retries and caches the result on disk. It doesn't use a separate thread or emit any warnings (unless there is an exception specifically while using the cache, in which case the check will be done without the cache).
To disable all warnings from this library, set the environment variable
OUTDATED_IGNORE to any non-empty value.
To always raise exceptions instead of converting them to warnings (both in general in
warn_if_outdated and more specifically when there's a caching problem) set the environment variable
This library works by fetching a URL such as this - the time it takes to visit that link is essentially the speed of the library. This is much faster than the command
pip list --outdated or any equivalent code.