#!/usr/bin/env python3 import sys import requests import json try: from packaging.version import parse except ImportError: from pip._vendor.packaging.version import parse # Courtesy of https://stackoverflow.com/questions/28774852/pypi-api-how-to-get-stable-package-version URL_PATTERN = 'https://pypi.python.org/pypi/{package}/json' def get_version(package, url_pattern=URL_PATTERN): """Return version of package on pypi.python.org using json.""" req = requests.get(url_pattern.format(package=package)) version = parse('0') if req.status_code == requests.codes.ok: j = json.loads(req.text.encode(req.encoding or "utf-8")) releases = j.get('releases', []) for release in releases: ver = parse(release) if not ver.is_prerelease: version = max(version, ver) return version if __name__ == '__main__': print(get_version(sys.argv[1]), end="")