akashcli 4.7.8__tar.gz → 4.7.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {akashcli-4.7.8 → akashcli-4.7.9}/PKG-INFO +1 -1
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/cli.py +23 -6
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli.egg-info/PKG-INFO +1 -1
- {akashcli-4.7.8 → akashcli-4.7.9}/pyproject.toml +1 -1
- {akashcli-4.7.8 → akashcli-4.7.9}/README.md +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/__init__.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/_net.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/auth.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/client.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/config.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/crypto.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/env_manager.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/exceptions.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/exec.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/integrity.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/logger.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/models.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/p2p.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/packages.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/relay.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/restore.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/snapshot_crypto.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/storage.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/terminal.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/updater.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/uploader.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli/utils.py +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli.egg-info/SOURCES.txt +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli.egg-info/dependency_links.txt +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli.egg-info/entry_points.txt +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli.egg-info/requires.txt +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/akashcli.egg-info/top_level.txt +0 -0
- {akashcli-4.7.8 → akashcli-4.7.9}/setup.cfg +0 -0
|
@@ -19,7 +19,7 @@ from .config import ConfigManager, DEFAULT_STORAGE_URL
|
|
|
19
19
|
from .exceptions import AkashError
|
|
20
20
|
from .exec import _device_fingerprint
|
|
21
21
|
from .uploader import VaultUploader
|
|
22
|
-
from .updater import show_update_warning_if_available, check_for_updates, format_update_box, mark_update_printed
|
|
22
|
+
from .updater import show_update_warning_if_available, check_for_updates, format_update_box, mark_update_printed, is_newer_version
|
|
23
23
|
|
|
24
24
|
atexit.register(show_update_warning_if_available)
|
|
25
25
|
|
|
@@ -361,23 +361,38 @@ def update():
|
|
|
361
361
|
|
|
362
362
|
print(f" {_Y}⚡{_RS} New version available: {_DM}{__version__}{_RS} {_C}→{_RS} {_G}{latest}{_RS}")
|
|
363
363
|
with _Spin(f"updating akashcli to v{latest}…"):
|
|
364
|
-
cmd = [sys.executable, "-m", "pip", "install", "-U", "akashcli", "--break-system-packages"]
|
|
364
|
+
cmd = [sys.executable, "-m", "pip", "install", "-U", "--no-cache-dir", f"akashcli=={latest}", "--break-system-packages"]
|
|
365
365
|
res = subprocess.run(cmd, capture_output=True, text=True)
|
|
366
366
|
if res.returncode != 0:
|
|
367
|
-
cmd = [sys.executable, "-m", "pip", "install", "-U", "akashcli"]
|
|
367
|
+
cmd = [sys.executable, "-m", "pip", "install", "-U", "--no-cache-dir", f"akashcli=={latest}"]
|
|
368
368
|
res = subprocess.run(cmd, capture_output=True, text=True)
|
|
369
|
+
if res.returncode != 0:
|
|
370
|
+
# Fallback to general upgrade if pinned version is waiting on PyPI CDN propagation
|
|
371
|
+
cmd = [sys.executable, "-m", "pip", "install", "-U", "--no-cache-dir", "akashcli", "--break-system-packages"]
|
|
372
|
+
res = subprocess.run(cmd, capture_output=True, text=True)
|
|
373
|
+
|
|
374
|
+
# Verify what version is actually installed now in a fresh Python runtime
|
|
375
|
+
chk = subprocess.run(
|
|
376
|
+
[sys.executable, "-c", "import importlib.metadata; print(importlib.metadata.version('akashcli'))"],
|
|
377
|
+
capture_output=True,
|
|
378
|
+
text=True
|
|
379
|
+
)
|
|
380
|
+
curr = chk.stdout.strip() if chk.returncode == 0 else ""
|
|
369
381
|
|
|
370
|
-
if
|
|
371
|
-
_ok(f"Successfully updated akashcli to {_G}v{latest}{_RS}!")
|
|
382
|
+
if curr == latest or (curr and not is_newer_version(latest, curr)):
|
|
383
|
+
_ok(f"Successfully updated akashcli to {_G}v{curr or latest}{_RS}!")
|
|
372
384
|
try:
|
|
373
385
|
from .integrity import seal
|
|
374
386
|
seal()
|
|
375
387
|
_ok("Integrity manifest re-sealed.")
|
|
376
388
|
except Exception:
|
|
377
389
|
pass
|
|
390
|
+
elif res.returncode == 0:
|
|
391
|
+
_warn(f"pip reported success, but installed version is still v{curr or __version__}.")
|
|
392
|
+
_info(f"PyPI CDN may take 1-2 minutes to replicate. Try: {_cy(f'pip install -U --no-cache-dir akashcli=={latest}')}")
|
|
378
393
|
else:
|
|
379
394
|
_err(f"Update failed: {res.stderr or res.stdout}")
|
|
380
|
-
_info(f"Please run manually: {_cy('pip install -U akashcli')}")
|
|
395
|
+
_info(f"Please run manually: {_cy(f'pip install -U --no-cache-dir akashcli=={latest}')}")
|
|
381
396
|
mark_update_printed()
|
|
382
397
|
_p()
|
|
383
398
|
|
|
@@ -3465,6 +3480,8 @@ def mcp_serve(
|
|
|
3465
3480
|
exec_cmd += " -y"
|
|
3466
3481
|
if re.search(r"\bdu\b", exec_cmd) and "-x" not in exec_cmd:
|
|
3467
3482
|
exec_cmd = re.sub(r"\bdu\b", "du -x", exec_cmd)
|
|
3483
|
+
if re.search(r"\btermux-location\b", exec_cmd) and "-r" not in exec_cmd:
|
|
3484
|
+
exec_cmd = re.sub(r"\btermux-location\b", "termux-location -r once", exec_cmd)
|
|
3468
3485
|
|
|
3469
3486
|
# Process-group-isolated runner: immune to pipe deadlocks & orphaned subshells
|
|
3470
3487
|
import os, signal
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|