about summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
authorMario Rodas <marsam@users.noreply.github.com>2019-09-16 17:34:15 -0500
committerGitHub <noreply@github.com>2019-09-16 17:34:15 -0500
commite8c29fa77c2d08ecbc93754b681f2902b53bef79 (patch)
treebea2368e9e8a67cbeeaec6f5e1569e41b41bbbfc /pkgs/development/interpreters
parenta02303f91efa32cf6a6190c0885f99b2fe858c5e (diff)
downloadnixlib-e8c29fa77c2d08ecbc93754b681f2902b53bef79.tar
nixlib-e8c29fa77c2d08ecbc93754b681f2902b53bef79.tar.gz
nixlib-e8c29fa77c2d08ecbc93754b681f2902b53bef79.tar.bz2
nixlib-e8c29fa77c2d08ecbc93754b681f2902b53bef79.tar.lz
nixlib-e8c29fa77c2d08ecbc93754b681f2902b53bef79.tar.xz
nixlib-e8c29fa77c2d08ecbc93754b681f2902b53bef79.tar.zst
nixlib-e8c29fa77c2d08ecbc93754b681f2902b53bef79.zip
update-python-libraries: use version key for latest release (#68857)
From warehouse API reference [1]:

     GET /pypi/<project_name>/json

     Returns metadata (info) about an individual project at the latest
     version […]

[1] https://warehouse.pypa.io/api-reference/json/#project
Diffstat (limited to 'pkgs/development/interpreters')
-rwxr-xr-xpkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py37
1 files changed, 2 insertions, 35 deletions
diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 9292a9307030..2315e53220b9 100755
--- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -116,45 +116,11 @@ SEMVER = {
 }
 
 
-def _determine_latest_version(current_version, target, versions):
-    """Determine latest version, given `target`.
-    """
-    current_version = Version(current_version)
-
-    def _parse_versions(versions):
-        for v in versions:
-            try:
-                yield Version(v)
-            except InvalidVersion:
-                pass
-
-    versions = _parse_versions(versions)
-
-    index = SEMVER[target]
-
-    ceiling = list(current_version[0:index])
-    if len(ceiling) == 0:
-        ceiling = None
-    else:
-        ceiling[-1]+=1
-        ceiling = Version(".".join(map(str, ceiling)))
-
-    # We do not want prereleases
-    versions = SpecifierSet(prereleases=PRERELEASES).filter(versions)
-
-    if ceiling is not None:
-        versions = SpecifierSet(f"<{ceiling}").filter(versions)
-
-    return (max(sorted(versions))).raw_version
-
-
 def _get_latest_version_pypi(package, extension, current_version, target):
     """Get latest version and hash from PyPI."""
     url = "{}/{}/json".format(INDEX, package)
     json = _fetch_page(url)
-
-    versions = json['releases'].keys()
-    version = _determine_latest_version(current_version, target, versions)
+    version = json['info']['version']
 
     try:
         releases = json['releases'][version]
@@ -166,6 +132,7 @@ def _get_latest_version_pypi(package, extension, current_version, target):
             sha256 = release['digests']['sha256']
             break
     else:
+        logging.error("Release not found for extension: {}".format(extension))
         sha256 = None
     return version, sha256