def get_outdated_package_versions(self, devel: bool = True) -> dict:
if not self.pipfile_lock:<EOL><INDENT>raise InternalError("<STR_LIT>")<EOL><DEDENT>result = {}<EOL>for package_version in self.iter_dependencies_locked(with_devel=devel):<EOL><INDENT>if package_version.index:<EOL><INDENT>latest = package_version.index.get_latest_package_version(package_version.name)<EOL>if package_version.semantic_version != latest:<EOL><INDENT>result[package_version.name] = (package_version, latest)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>found = False<EOL>for index in self.pipfile_lock.meta.sources.values():<EOL><INDENT>try:<EOL><INDENT>latest = index.get_latest_package_version(package_version.name)<EOL>found = True<EOL><DEDENT>except NotFound:<EOL><INDENT>continue<EOL><DEDENT>if package_version.semantic_version != latest:<EOL><INDENT>result[package_version.name] = (package_version, latest)<EOL><DEDENT><DEDENT>if not found:<EOL><INDENT>raise NotFound(<EOL>f"<STR_LIT>"<EOL>f"<STR_LIT>"<EOL>)<EOL><DEDENT><DEDENT><DEDENT>return result<EOL>
Get outdated packages in the lock file.

        This function will check indexes configured and look for version of
        each package. If the given package package is not latest, it will add
        it to the resulting list with the newer version identifier found on
        package index.