import pkg_resources import sys def get_pkg_license(pkg): try: lines = pkg.get_metadata_lines('METADATA') except Exception: lines = pkg.get_metadata_lines('PKG-INFO') for line in lines: if line.startswith('License:'): return line[9:] return '(Licence not found)' def print_packages_and_licenses(name): for pkg in sorted(pkg_resources.working_set, key=lambda x: str(x).lower()): print(name, "\t", str(pkg), "\t", get_pkg_license(pkg)) if __name__ == "__main__": print_packages_and_licenses(sys.argv[1])