autoBIGS.cli-bioconda/pypi_latest_ver.py

31 lines
939 B
Python
Raw Permalink Normal View History

#!/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
2025-02-18 14:49:07 +00:00
# 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="")