memstack-skill-loader 3.5.0__tar.gz → 3.5.1__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.
Files changed (24) hide show
  1. {memstack_skill_loader-3.5.0/src/memstack_skill_loader.egg-info → memstack_skill_loader-3.5.1}/PKG-INFO +1 -1
  2. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/pyproject.toml +1 -1
  3. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/version_check.py +16 -25
  4. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1/src/memstack_skill_loader.egg-info}/PKG-INFO +1 -1
  5. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/MANIFEST.in +0 -0
  6. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/README.md +0 -0
  7. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/setup.cfg +0 -0
  8. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/__init__.py +0 -0
  9. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/__main__.py +0 -0
  10. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/compression.py +0 -0
  11. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/config.py +0 -0
  12. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/dashboard.html +0 -0
  13. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/dashboard.py +0 -0
  14. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/indexer.py +0 -0
  15. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/license.py +0 -0
  16. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/search.py +0 -0
  17. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/server.py +0 -0
  18. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/stats.py +0 -0
  19. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader/tfidf_search.py +0 -0
  20. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader.egg-info/SOURCES.txt +0 -0
  21. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader.egg-info/dependency_links.txt +0 -0
  22. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader.egg-info/entry_points.txt +0 -0
  23. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader.egg-info/requires.txt +0 -0
  24. {memstack_skill_loader-3.5.0 → memstack_skill_loader-3.5.1}/src/memstack_skill_loader.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memstack-skill-loader
3
- Version: 3.5.0
3
+ Version: 3.5.1
4
4
  Summary: MCP server that vector-indexes MemStack Pro skills for on-demand loading
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: mcp>=1.0.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "memstack-skill-loader"
7
- version = "3.5.0"
7
+ version = "3.5.1"
8
8
  description = "MCP server that vector-indexes MemStack Pro skills for on-demand loading"
9
9
  requires-python = ">=3.12"
10
10
  dependencies = [
@@ -1,28 +1,22 @@
1
- """Check for MemStack updates via GitHub releases API."""
1
+ """Check for MemStack updates via the PyPI JSON API."""
2
2
 
3
3
  import json
4
- import os
5
4
  import sys
6
5
  import time
7
6
  from pathlib import Path
8
7
 
9
- GITHUB_API_URL = "https://api.github.com/repos/cwinvestments/memstack/releases/latest"
8
+ PYPI_URL = "https://pypi.org/pypi/memstack-skill-loader/json"
10
9
  CACHE_FILE = Path.home() / ".memstack" / "version-check.json"
11
- CACHE_TTL = 86400 # 24 hours in seconds
10
+ CACHE_TTL = 86400 # 24 hours
12
11
 
13
12
 
14
- def _read_local_version() -> str | None:
15
- """Read the VERSION file from the parent memstack repo directory."""
16
- # The skill loader lives inside memstack, so walk up to find VERSION
17
- loader_dir = Path(__file__).resolve().parent
18
- for parent in [loader_dir] + list(loader_dir.parents):
19
- version_file = parent / "VERSION"
20
- if version_file.exists():
21
- try:
22
- return version_file.read_text(encoding="utf-8").strip()
23
- except OSError:
24
- return None
25
- return None
13
+ def _get_local_version() -> str | None:
14
+ """Get the installed package version via importlib.metadata."""
15
+ try:
16
+ from importlib.metadata import version
17
+ return version("memstack-skill-loader")
18
+ except Exception:
19
+ return None
26
20
 
27
21
 
28
22
  def _read_cache() -> dict | None:
@@ -51,32 +45,30 @@ def _write_cache(remote_version: str) -> None:
51
45
 
52
46
 
53
47
  def check_for_updates() -> None:
54
- """Check GitHub for a newer MemStack version. Prints to stderr if update available."""
48
+ """Check PyPI for a newer MemStack version. Prints to stderr if update available."""
55
49
  try:
56
- local_version = _read_local_version()
50
+ local_version = _get_local_version()
57
51
  if not local_version:
58
52
  return
59
53
 
60
- # Check cache first
61
54
  cached = _read_cache()
62
55
  if cached:
63
56
  remote_version = cached.get("remote_version", "")
64
57
  if remote_version and remote_version != local_version:
65
58
  print(
66
59
  f"[memstack] Update available: {remote_version} (you have {local_version}). "
67
- f"Run 'git pull' in your MemStack\u2122 directory to update.",
60
+ f"Run: pip install memstack-skill-loader --upgrade",
68
61
  file=sys.stderr,
69
62
  )
70
63
  return
71
64
 
72
- # Fetch from GitHub API
73
65
  import httpx
74
- response = httpx.get(GITHUB_API_URL, timeout=5.0, follow_redirects=True)
66
+ response = httpx.get(PYPI_URL, timeout=5.0, follow_redirects=True)
75
67
  if response.status_code != 200:
76
68
  return
77
69
 
78
70
  data = response.json()
79
- remote_version = data.get("tag_name", "")
71
+ remote_version = data.get("info", {}).get("version", "")
80
72
  if not remote_version:
81
73
  return
82
74
 
@@ -85,9 +77,8 @@ def check_for_updates() -> None:
85
77
  if remote_version != local_version:
86
78
  print(
87
79
  f"[memstack] Update available: {remote_version} (you have {local_version}). "
88
- f"Run 'git pull' in your MemStack\u2122 directory to update.",
80
+ f"Run: pip install memstack-skill-loader --upgrade",
89
81
  file=sys.stderr,
90
82
  )
91
83
  except Exception:
92
- # Silently skip on any error — never block skill loading
93
84
  pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memstack-skill-loader
3
- Version: 3.5.0
3
+ Version: 3.5.1
4
4
  Summary: MCP server that vector-indexes MemStack Pro skills for on-demand loading
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: mcp>=1.0.0