#!/usr/bin/env python3 import subprocess import os ZULIP_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) os.chdir(ZULIP_PATH) output = subprocess.check_output(['pip', 'list', '--outdated', '--format', 'columns']).decode('utf-8').splitlines() packages_info = output[2:] for package_line in packages_info: package_name = package_line.split()[0] package_current_version = package_line.split()[1] package_latest_version = package_line.split()[2] try: output = subprocess.check_output(['grep', '-r', package_name, 'requirements', '--exclude=*.txt', '--include=pip.txt']).decode('utf-8') print(package_name, "|", package_current_version, "|", package_latest_version) except subprocess.CalledProcessError: pass