yourmemory 1.4.2__tar.gz → 1.4.3__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 (42) hide show
  1. {yourmemory-1.4.2 → yourmemory-1.4.3}/PKG-INFO +3 -3
  2. {yourmemory-1.4.2 → yourmemory-1.4.3}/memory_mcp.py +28 -0
  3. {yourmemory-1.4.2 → yourmemory-1.4.3}/pyproject.toml +4 -2
  4. {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/PKG-INFO +3 -3
  5. {yourmemory-1.4.2 → yourmemory-1.4.3}/LICENSE +0 -0
  6. {yourmemory-1.4.2 → yourmemory-1.4.3}/README.md +0 -0
  7. {yourmemory-1.4.2 → yourmemory-1.4.3}/setup.cfg +0 -0
  8. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/__init__.py +0 -0
  9. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/app.py +0 -0
  10. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/connection.py +0 -0
  11. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/duckdb_schema.sql +0 -0
  12. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/migrate.py +0 -0
  13. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/schema.sql +0 -0
  14. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/db/sqlite_schema.sql +0 -0
  15. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/__init__.py +0 -0
  16. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/backend.py +0 -0
  17. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/graph_store.py +0 -0
  18. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/neo4j_backend.py +0 -0
  19. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/networkx_backend.py +0 -0
  20. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/graph/svo_extract.py +0 -0
  21. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/jobs/decay_job.py +0 -0
  22. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/__init__.py +0 -0
  23. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/agents.py +0 -0
  24. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/memories.py +0 -0
  25. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/retrieve.py +0 -0
  26. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/routes/ui.py +0 -0
  27. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/__init__.py +0 -0
  28. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/agent_registry.py +0 -0
  29. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/api_keys.py +0 -0
  30. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/decay.py +0 -0
  31. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/embed.py +0 -0
  32. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/extract.py +0 -0
  33. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/extract_fallback.py +0 -0
  34. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/resolve.py +0 -0
  35. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/resolve_fallback.py +0 -0
  36. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/retrieve.py +0 -0
  37. {yourmemory-1.4.2 → yourmemory-1.4.3}/src/services/utils.py +0 -0
  38. {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/SOURCES.txt +0 -0
  39. {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/dependency_links.txt +0 -0
  40. {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/entry_points.txt +0 -0
  41. {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/requires.txt +2 -2
  42. {yourmemory-1.4.2 → yourmemory-1.4.3}/yourmemory.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yourmemory
3
- Version: 1.4.2
3
+ Version: 1.4.3
4
4
  Summary: Persistent memory for Claude — Ebbinghaus forgetting curve, semantic deduplication, MCP-native
5
5
  Author-email: Sachit Misra <mishrasachit1@gmail.com>
6
6
  License-Expression: CC-BY-NC-4.0
@@ -24,12 +24,12 @@ Requires-Dist: duckdb>=0.10.0
24
24
  Requires-Dist: apscheduler
25
25
  Requires-Dist: spacy<4.0,>=3.8.13
26
26
  Requires-Dist: networkx>=3.0
27
+ Requires-Dist: fastapi
28
+ Requires-Dist: uvicorn[standard]
27
29
  Provides-Extra: postgres
28
30
  Requires-Dist: psycopg2-binary; extra == "postgres"
29
31
  Requires-Dist: pgvector; extra == "postgres"
30
32
  Provides-Extra: sse
31
- Requires-Dist: fastapi; extra == "sse"
32
- Requires-Dist: uvicorn[standard]; extra == "sse"
33
33
  Requires-Dist: httpx; extra == "sse"
34
34
  Provides-Extra: neo4j
35
35
  Requires-Dist: neo4j>=5.0; extra == "neo4j"
@@ -555,6 +555,32 @@ async def call_tool(name: str, arguments: dict) -> list[types.TextContent]:
555
555
  return [types.TextContent(type="text", text=json.dumps({"error": f"Unknown tool: {name}"}))]
556
556
 
557
557
 
558
+ def _start_dashboard(port: int) -> None:
559
+ """Start the memory dashboard HTTP server in a background daemon thread.
560
+
561
+ Binds to 127.0.0.1 only — local access, not exposed to the network.
562
+ Prints the URL to stderr so it doesn't pollute the MCP stdio stream.
563
+ """
564
+ try:
565
+ import uvicorn
566
+ from src.app import app as dashboard_app
567
+
568
+ config = uvicorn.Config(
569
+ dashboard_app,
570
+ host="127.0.0.1",
571
+ port=port,
572
+ log_level="error",
573
+ access_log=False,
574
+ )
575
+ server = uvicorn.Server(config)
576
+
577
+ t = threading.Thread(target=server.run, daemon=True, name="dashboard")
578
+ t.start()
579
+ print(f" Dashboard → http://127.0.0.1:{port}/ui", file=sys.stderr)
580
+ except Exception as exc:
581
+ print(f" Dashboard unavailable: {exc}", file=sys.stderr)
582
+
583
+
558
584
  def _start_decay_scheduler():
559
585
  """Run the decay job once immediately, then every 24 hours in a background thread."""
560
586
  from src.jobs.decay_job import run as run_decay
@@ -892,6 +918,8 @@ def run():
892
918
  # Default to SSE on Windows — stdio pipes break intermittently on Windows
893
919
  _run_sse(int(os.getenv("PORT", 3033)))
894
920
  else:
921
+ dashboard_port = int(os.getenv("YOURMEMORY_DASHBOARD_PORT", 3033))
922
+ _start_dashboard(dashboard_port)
895
923
  asyncio.run(main())
896
924
 
897
925
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "yourmemory"
7
- version = "1.4.2"
7
+ version = "1.4.3"
8
8
  description = "Persistent memory for Claude — Ebbinghaus forgetting curve, semantic deduplication, MCP-native"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -30,11 +30,13 @@ dependencies = [
30
30
  "apscheduler",
31
31
  "spacy>=3.8.13,<4.0",
32
32
  "networkx>=3.0",
33
+ "fastapi",
34
+ "uvicorn[standard]",
33
35
  ]
34
36
 
35
37
  [project.optional-dependencies]
36
38
  postgres = ["psycopg2-binary", "pgvector"]
37
- sse = ["fastapi", "uvicorn[standard]", "httpx"]
39
+ sse = ["httpx"]
38
40
  neo4j = ["neo4j>=5.0"]
39
41
  all = ["yourmemory[postgres,sse,neo4j]"]
40
42
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yourmemory
3
- Version: 1.4.2
3
+ Version: 1.4.3
4
4
  Summary: Persistent memory for Claude — Ebbinghaus forgetting curve, semantic deduplication, MCP-native
5
5
  Author-email: Sachit Misra <mishrasachit1@gmail.com>
6
6
  License-Expression: CC-BY-NC-4.0
@@ -24,12 +24,12 @@ Requires-Dist: duckdb>=0.10.0
24
24
  Requires-Dist: apscheduler
25
25
  Requires-Dist: spacy<4.0,>=3.8.13
26
26
  Requires-Dist: networkx>=3.0
27
+ Requires-Dist: fastapi
28
+ Requires-Dist: uvicorn[standard]
27
29
  Provides-Extra: postgres
28
30
  Requires-Dist: psycopg2-binary; extra == "postgres"
29
31
  Requires-Dist: pgvector; extra == "postgres"
30
32
  Provides-Extra: sse
31
- Requires-Dist: fastapi; extra == "sse"
32
- Requires-Dist: uvicorn[standard]; extra == "sse"
33
33
  Requires-Dist: httpx; extra == "sse"
34
34
  Provides-Extra: neo4j
35
35
  Requires-Dist: neo4j>=5.0; extra == "neo4j"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -7,6 +7,8 @@ duckdb>=0.10.0
7
7
  apscheduler
8
8
  spacy<4.0,>=3.8.13
9
9
  networkx>=3.0
10
+ fastapi
11
+ uvicorn[standard]
10
12
 
11
13
  [all]
12
14
  yourmemory[neo4j,postgres,sse]
@@ -19,6 +21,4 @@ psycopg2-binary
19
21
  pgvector
20
22
 
21
23
  [sse]
22
- fastapi
23
- uvicorn[standard]
24
24
  httpx