From bbe93848d4f66b052ef55e8236e011de2629c995 Mon Sep 17 00:00:00 2001 From: Jirka Date: Fri, 16 Sep 2022 15:53:33 +0200 Subject: [PATCH 1/3] keep pre versions --- .actions/assistant.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.actions/assistant.py b/.actions/assistant.py index 38c3d8cebd763..e3af778edd313 100644 --- a/.actions/assistant.py +++ b/.actions/assistant.py @@ -13,6 +13,7 @@ from typing import List, Optional, Sequence from urllib import request from urllib.request import Request, urlopen +from packaging.version import parse as version_parse import fire import pkg_resources @@ -30,15 +31,20 @@ PACKAGE_MAPPING = {"app": "lightning-app", "pytorch": "pytorch-lightning"} -def pypi_versions(package_name: str) -> List[str]: - """Return a list of released versions of a provided pypi name.""" +def pypi_versions(package_name: str, drop_pre: bool = True) -> List[str]: + """Return a list of released versions of a provided pypi name. + + >>> _ = pypi_versions("lightning_app", drop_pre=False) + """ # https://stackoverflow.com/a/27239645/4521646 url = f"https://pypi.org/pypi/{package_name}/json" data = json.load(urlopen(Request(url))) versions = list(data["releases"].keys()) # todo: drop this line after cleaning Pypi history from invalid versions - versions = list(filter(lambda v: v.count(".") == 2 and "rc" not in v, versions)) - versions.sort(key=StrictVersion) + versions = list(filter(lambda v: v.count(".") == 2, versions)) + if drop_pre: + versions = list(filter(lambda v: all(c not in v for c in ["rc", "dev"]), versions)) + versions.sort(key=version_parse) return versions @@ -122,7 +128,7 @@ def download_package(package: str, folder: str = ".", version: Optional[str] = N url = f"https://pypi.org/pypi/{PACKAGE_MAPPING[package]}/json" data = json.load(urlopen(Request(url))) if not version: - pypi_vers = pypi_versions(PACKAGE_MAPPING[package]) + pypi_vers = pypi_versions(PACKAGE_MAPPING[package], drop_pre=False) version = pypi_vers[-1] releases = list(filter(lambda r: r["packagetype"] == "sdist", data["releases"][version])) assert releases, f"Missing 'sdist' for this package/version aka {package}/{version}" From 8e538fef3097aacf50220a7cdb639eb9fd04dc11 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 16 Sep 2022 13:55:58 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .actions/assistant.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.actions/assistant.py b/.actions/assistant.py index e3af778edd313..b8f2d48ed8aa2 100644 --- a/.actions/assistant.py +++ b/.actions/assistant.py @@ -13,10 +13,10 @@ from typing import List, Optional, Sequence from urllib import request from urllib.request import Request, urlopen -from packaging.version import parse as version_parse import fire import pkg_resources +from packaging.version import parse as version_parse REQUIREMENT_FILES = { "pytorch": ( From 8d5616691cdf2e3cb9d582995cc8a679d5384ecf Mon Sep 17 00:00:00 2001 From: Jirka Date: Fri, 16 Sep 2022 19:34:33 +0200 Subject: [PATCH 3/3] flake8 --- .actions/assistant.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.actions/assistant.py b/.actions/assistant.py index b8f2d48ed8aa2..96a7602707b5f 100644 --- a/.actions/assistant.py +++ b/.actions/assistant.py @@ -4,7 +4,7 @@ import os import re import shutil -from distutils.version import LooseVersion, StrictVersion +from distutils.version import LooseVersion from importlib.util import module_from_spec, spec_from_file_location from itertools import chain from pathlib import Path