From 1c52e364aa987dd03b4e9f52e0b725b6f335863b Mon Sep 17 00:00:00 2001
From: 游雁 <zhifu.gzf@alibaba-inc.com>
Date: 星期五, 21 六月 2024 11:19:19 +0800
Subject: [PATCH] version checker
---
funasr/auto/auto_model.py | 7 +++++++
funasr/utils/version_checker.py | 24 ++++++++++++++++++++++++
2 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/funasr/auto/auto_model.py b/funasr/auto/auto_model.py
index 57a15db..01e6aaf 100644
--- a/funasr/auto/auto_model.py
+++ b/funasr/auto/auto_model.py
@@ -111,6 +111,13 @@
def __init__(self, **kwargs):
+ try:
+ from funasr.utils.version_checker import check_for_update
+
+ check_for_update()
+ except:
+ pass
+
log_level = getattr(logging, kwargs.get("log_level", "INFO").upper())
logging.basicConfig(level=log_level)
diff --git a/funasr/utils/version_checker.py b/funasr/utils/version_checker.py
new file mode 100644
index 0000000..1a6970e
--- /dev/null
+++ b/funasr/utils/version_checker.py
@@ -0,0 +1,24 @@
+import requests
+from packaging import version
+from funasr import __version__ # Ensure that __version__ is defined in your package's __init__.py
+
+
+def get_pypi_version(package_name):
+ url = f"https://pypi.org/pypi/{package_name}/json"
+ response = requests.get(url)
+ if response.status_code == 200:
+ data = response.json()
+ return version.parse(data["info"]["version"])
+ else:
+ raise Exception("Failed to retrieve version information from PyPI.")
+
+
+def check_for_update():
+ current_version = version.parse(__version__)
+ pypi_version = get_pypi_version("funasr")
+
+ if current_version < pypi_version:
+ print(f"New version available: {pypi_version}. Your current version is {current_version}.")
+ print('Please use the command "pip install -U funasr" to upgrade.')
+ else:
+ print("You are using the latest version of funasr.")
--
Gitblit v1.9.1