aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ipm/models/index.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ipm/models/index.py b/src/ipm/models/index.py
index 774da1f..cd8b78b 100644
--- a/src/ipm/models/index.py
+++ b/src/ipm/models/index.py
@@ -2,7 +2,6 @@ from pathlib import Path
from typing import Any, Literal, Optional
from ipm.const import INDEX_PATH
from ipm.exceptions import LockLoadFailed
-from ipm.models.lock import PackageLock
from ipm.typing import Dict
import requests
@@ -45,6 +44,8 @@ class Yggdrasil:
@staticmethod
def init(index: str) -> "Yggdrasil":
+ from ipm.models.lock import PackageLock
+
lock_bytes = requests.get(
index.rstrip("/") + "/" + "json/packages.json"
).content
@@ -99,6 +100,11 @@ class Yggdrasil:
if distribution["version"] == match_version:
return distribution["hash"]
+ def get_lastest_version(self, name: str) -> Optional[str]:
+ if name not in self.packages:
+ return None
+ return self.packages[name]["latestVersion"]
+
@property
def uuid(self) -> str:
"""世界树唯一标识"""