superlocalmemory 3.6.4 → 3.6.5

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superlocalmemory",
3
- "version": "3.6.4",
3
+ "version": "3.6.5",
4
4
  "description": "Information-geometric agent memory with mathematical guarantees. 4-channel retrieval, Fisher-Rao similarity, zero-LLM mode, EU AI Act compliant. Works with Claude, Cursor, Windsurf, and 17+ AI tools.",
5
5
  "keywords": [
6
6
  "ai-memory",
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "superlocalmemory"
3
- version = "3.6.4"
3
+ version = "3.6.5"
4
4
  description = "Information-geometric agent memory with mathematical guarantees"
5
5
  readme = "README.md"
6
6
  license = {text = "AGPL-3.0-or-later"}
@@ -28,7 +28,7 @@ if "OMP_NUM_THREADS" not in os.environ:
28
28
  os.environ["OMP_NUM_THREADS"] = "2"
29
29
  # ---------------------------------------------------------------------------
30
30
 
31
- __version__ = "3.6.3"
31
+ __version__ = "3.6.5"
32
32
 
33
33
  _REQUIRED_VERSIONS = {
34
34
  "sentence_transformers": "5.3.0",
@@ -36,22 +36,35 @@ _REQUIRED_VERSIONS = {
36
36
  }
37
37
 
38
38
 
39
+ # Module name -> distribution name for metadata lookup.
40
+ _DIST_NAMES = {
41
+ "sentence_transformers": "sentence-transformers",
42
+ "onnxruntime": "onnxruntime",
43
+ }
44
+
45
+
39
46
  def _check_critical_deps() -> None:
40
- """Warn if embedding-critical packages have wrong versions."""
47
+ """Warn if embedding-critical packages have wrong versions.
48
+
49
+ Reads installed versions from package metadata — does NOT import the
50
+ packages. Importing sentence_transformers here would eagerly load torch
51
+ (native) into every process: a memory blow-up on Apple Silicon and, on
52
+ some interpreters, a source of native-heap instability at teardown.
53
+ """
41
54
  import warnings
55
+ from importlib import metadata
42
56
  for mod_name, expected in _REQUIRED_VERSIONS.items():
43
57
  try:
44
- mod = __import__(mod_name)
45
- actual = getattr(mod, "__version__", None)
46
- if actual and actual != expected:
47
- warnings.warn(
48
- f"SuperLocalMemory requires {mod_name}=={expected} but "
49
- f"{actual} is installed. This causes memory blow-up on "
50
- f"Apple Silicon. Fix: pip install {mod_name}=={expected}",
51
- stacklevel=2,
52
- )
53
- except ImportError:
54
- pass
58
+ actual = metadata.version(_DIST_NAMES[mod_name])
59
+ except metadata.PackageNotFoundError:
60
+ continue
61
+ if actual != expected:
62
+ warnings.warn(
63
+ f"SuperLocalMemory requires {mod_name}=={expected} but "
64
+ f"{actual} is installed. This causes memory blow-up on "
65
+ f"Apple Silicon. Fix: pip install {mod_name}=={expected}",
66
+ stacklevel=2,
67
+ )
55
68
 
56
69
 
57
70
  # Only run the dep check when a full (non-LIGHT) engine is in use.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superlocalmemory
3
- Version: 3.6.4
3
+ Version: 3.6.5
4
4
  Summary: Information-geometric agent memory with mathematical guarantees
5
5
  Author-email: Varun Pratap Bhardwaj <admin@superlocalmemory.com>
6
6
  License: AGPL-3.0-or-later