From 4fb59476f09bae729fa6947c35cb265706b74bba Mon Sep 17 00:00:00 2001 From: Michele Claus Date: Wed, 14 Sep 2022 14:57:20 +0000 Subject: [PATCH 1/3] Add warning for new version --- openeo/__init__.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/openeo/__init__.py b/openeo/__init__.py index 6d1363fe8..42c25fac8 100644 --- a/openeo/__init__.py +++ b/openeo/__init__.py @@ -17,7 +17,8 @@ class BaseOpenEoException(Exception): from openeo.rest.connection import connect, session, Connection from openeo.rest.job import BatchJob, RESTJob from openeo.internal.graph_building import UDF - +import requests +import warnings def client_version() -> str: try: @@ -25,3 +26,19 @@ def client_version() -> str: return importlib.metadata.version("openeo") except Exception: return __version__ + +def check_if_latest_version(): + try: + package = 'openeo' + response = requests.get(f'https://pypi.org/pypi/{package}/json') + latest_version = response.json()['info']['version'] + except: + # Probably no internet connection available, pass + return + installed_version = client_version() + if latest_version != client_version(): + warnings.warn(f'WARNING: You are using {package} version {installed_version}; however, version {latest_version} is available. You should consider upgrading via the \'pip install --upgrade {package}\' command.', Warning) + return + +check_if_latest_version() + \ No newline at end of file From 9d77860d5eaf555a0b6be485fb70475526b1260c Mon Sep 17 00:00:00 2001 From: Michele Claus Date: Wed, 14 Sep 2022 15:00:29 +0000 Subject: [PATCH 2/3] Removed unnecessary WARNING --- openeo/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openeo/__init__.py b/openeo/__init__.py index 42c25fac8..4c5e04e4f 100644 --- a/openeo/__init__.py +++ b/openeo/__init__.py @@ -37,7 +37,7 @@ def check_if_latest_version(): return installed_version = client_version() if latest_version != client_version(): - warnings.warn(f'WARNING: You are using {package} version {installed_version}; however, version {latest_version} is available. You should consider upgrading via the \'pip install --upgrade {package}\' command.', Warning) + warnings.warn(f'You are using {package} version {installed_version}; however, version {latest_version} is available. You should consider upgrading via the \'pip install --upgrade {package}\' command.', Warning) return check_if_latest_version() From 1635d225b3391fb8c6e3c41e87b884338d8d83fe Mon Sep 17 00:00:00 2001 From: Michele Claus Date: Thu, 15 Sep 2022 07:30:39 +0000 Subject: [PATCH 3/3] improved version check --- openeo/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openeo/__init__.py b/openeo/__init__.py index 4c5e04e4f..ce824e3f4 100644 --- a/openeo/__init__.py +++ b/openeo/__init__.py @@ -28,17 +28,19 @@ def client_version() -> str: return __version__ def check_if_latest_version(): + from openeo.capabilities import ComparableVersion try: package = 'openeo' - response = requests.get(f'https://pypi.org/pypi/{package}/json') + response = requests.get(f'https://pypi.org/pypi/{package}/json',timeout=2) latest_version = response.json()['info']['version'] except: # Probably no internet connection available, pass return installed_version = client_version() - if latest_version != client_version(): + if ComparableVersion(latest_version).__gt__(installed_version): warnings.warn(f'You are using {package} version {installed_version}; however, version {latest_version} is available. You should consider upgrading via the \'pip install --upgrade {package}\' command.', Warning) return +# TODO: Perform this once a week using a cached file. pip is doing something similar here https://github.com/pypa/pip/blob/bad03ef931d9b3ff4f9e75f35f9c41f45839e2a1/src/pip/_internal/self_outdated_check.py check_if_latest_version() \ No newline at end of file