synapse-memory-engine 1.3.0__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.
- synapse_memory_engine-1.3.0/PKG-INFO +75 -0
- synapse_memory_engine-1.3.0/README.md +26 -0
- synapse_memory_engine-1.3.0/pyproject.toml +83 -0
- synapse_memory_engine-1.3.0/setup.cfg +4 -0
- synapse_memory_engine-1.3.0/setup.py +49 -0
- synapse_memory_engine-1.3.0/synapse_memory/__init__.py +31 -0
- synapse_memory_engine-1.3.0/synapse_memory/api/fastapi_server.py +1334 -0
- synapse_memory_engine-1.3.0/synapse_memory/cli/synapse_cli.py +112 -0
- synapse_memory_engine-1.3.0/synapse_memory/client.py +127 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/__init__.py +50 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/auth.py +1273 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/decay_engine.py +123 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/deduplicator.py +98 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/embedder.py +119 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/embedding_provider.py +241 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/encryption.py +226 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/hybrid_search.py +199 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/knapsack_packer.py +103 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/memory_manager.py +233 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/migrations.py +241 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/observability.py +48 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/pgvector_db.py +1276 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/pruner.py +68 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/rate_limiter.py +180 -0
- synapse_memory_engine-1.3.0/synapse_memory/core/sqlite_db.py +564 -0
- synapse_memory_engine-1.3.0/synapse_memory/examples/langchain_integration.py +12 -0
- synapse_memory_engine-1.3.0/synapse_memory/examples/llamaindex_integration.py +12 -0
- synapse_memory_engine-1.3.0/synapse_memory/integrations/__init__.py +9 -0
- synapse_memory_engine-1.3.0/synapse_memory/integrations/langchain.py +209 -0
- synapse_memory_engine-1.3.0/synapse_memory/integrations/llamaindex.py +295 -0
- synapse_memory_engine-1.3.0/synapse_memory/main.py +112 -0
- synapse_memory_engine-1.3.0/synapse_memory/py.typed +0 -0
- synapse_memory_engine-1.3.0/synapse_memory_engine.egg-info/PKG-INFO +75 -0
- synapse_memory_engine-1.3.0/synapse_memory_engine.egg-info/SOURCES.txt +67 -0
- synapse_memory_engine-1.3.0/synapse_memory_engine.egg-info/dependency_links.txt +1 -0
- synapse_memory_engine-1.3.0/synapse_memory_engine.egg-info/entry_points.txt +4 -0
- synapse_memory_engine-1.3.0/synapse_memory_engine.egg-info/requires.txt +39 -0
- synapse_memory_engine-1.3.0/synapse_memory_engine.egg-info/top_level.txt +1 -0
- synapse_memory_engine-1.3.0/tests/test_auth_multitenancy.py +178 -0
- synapse_memory_engine-1.3.0/tests/test_backup_restore_drill.py +48 -0
- synapse_memory_engine-1.3.0/tests/test_db_role_provisioning.py +253 -0
- synapse_memory_engine-1.3.0/tests/test_decay.py +69 -0
- synapse_memory_engine-1.3.0/tests/test_deduplicator.py +37 -0
- synapse_memory_engine-1.3.0/tests/test_deterministic_embedding.py +54 -0
- synapse_memory_engine-1.3.0/tests/test_encryption.py +46 -0
- synapse_memory_engine-1.3.0/tests/test_f01_auth_escalation.py +199 -0
- synapse_memory_engine-1.3.0/tests/test_f02_f07_probes.py +155 -0
- synapse_memory_engine-1.3.0/tests/test_f05_f06_data_at_rest.py +76 -0
- synapse_memory_engine-1.3.0/tests/test_f10_f15_hardening.py +231 -0
- synapse_memory_engine-1.3.0/tests/test_f17_provider_dimension.py +43 -0
- synapse_memory_engine-1.3.0/tests/test_f18_pgvector_3072.py +69 -0
- synapse_memory_engine-1.3.0/tests/test_helm_chart.py +201 -0
- synapse_memory_engine-1.3.0/tests/test_integration.py +38 -0
- synapse_memory_engine-1.3.0/tests/test_knapsack.py +31 -0
- synapse_memory_engine-1.3.0/tests/test_langchain.py +107 -0
- synapse_memory_engine-1.3.0/tests/test_llamaindex.py +83 -0
- synapse_memory_engine-1.3.0/tests/test_load_resilience.py +604 -0
- synapse_memory_engine-1.3.0/tests/test_max_record_limit.py +142 -0
- synapse_memory_engine-1.3.0/tests/test_migrations.py +84 -0
- synapse_memory_engine-1.3.0/tests/test_p0_safety_regressions.py +145 -0
- synapse_memory_engine-1.3.0/tests/test_p1_contract_regressions.py +195 -0
- synapse_memory_engine-1.3.0/tests/test_pgvector.py +64 -0
- synapse_memory_engine-1.3.0/tests/test_pgvector_integration.py +670 -0
- synapse_memory_engine-1.3.0/tests/test_phase_cd.py +140 -0
- synapse_memory_engine-1.3.0/tests/test_pruner.py +52 -0
- synapse_memory_engine-1.3.0/tests/test_rate_limit.py +154 -0
- synapse_memory_engine-1.3.0/tests/test_required_auth_gateway.py +141 -0
- synapse_memory_engine-1.3.0/tests/test_retrieval_eval.py +113 -0
- synapse_memory_engine-1.3.0/tests/test_synapse.py +178 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: synapse-memory-engine
|
|
3
|
+
Version: 1.3.0
|
|
4
|
+
Summary: Production-grade active RAG & cognitive memory engine with multi-tenancy, pgvector HNSW indexing, semantic deduplication, decay-based pruning, and token-aware context packing.
|
|
5
|
+
Home-page: https://github.com/721189/Synapse-Memory
|
|
6
|
+
Author: Synapse Cognitive Systems
|
|
7
|
+
Author-email: Synapse Cognitive Systems <singhshivam20009@gmail.com>
|
|
8
|
+
Project-URL: Homepage, https://github.com/721189/Synapse-Memory
|
|
9
|
+
Project-URL: Bug Tracker, https://github.com/721189/Synapse-Memory/issues
|
|
10
|
+
Project-URL: Documentation, https://github.com/721189/Synapse-Memory#readme
|
|
11
|
+
Project-URL: Repository, https://github.com/721189/Synapse-Memory.git
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
Requires-Dist: fastapi>=0.115.0
|
|
15
|
+
Requires-Dist: pydantic>=2.10.0
|
|
16
|
+
Requires-Dist: uvicorn>=0.34.0
|
|
17
|
+
Requires-Dist: cryptography>=42.0.0
|
|
18
|
+
Requires-Dist: requests>=2.31.0
|
|
19
|
+
Requires-Dist: numpy>=1.26.0
|
|
20
|
+
Requires-Dist: urllib3>=2.8.0
|
|
21
|
+
Provides-Extra: local-models
|
|
22
|
+
Requires-Dist: sentence-transformers>=5.0.0; extra == "local-models"
|
|
23
|
+
Provides-Extra: pgvector
|
|
24
|
+
Requires-Dist: psycopg2-binary>=2.9.9.1; extra == "pgvector"
|
|
25
|
+
Requires-Dist: pgvector>=0.4.0; extra == "pgvector"
|
|
26
|
+
Provides-Extra: redis
|
|
27
|
+
Requires-Dist: redis>=5.0.0; extra == "redis"
|
|
28
|
+
Provides-Extra: langchain
|
|
29
|
+
Requires-Dist: langchain-core>=0.3.0; extra == "langchain"
|
|
30
|
+
Provides-Extra: llamaindex
|
|
31
|
+
Requires-Dist: llama-index-core>=0.13.0; extra == "llamaindex"
|
|
32
|
+
Provides-Extra: all
|
|
33
|
+
Requires-Dist: sentence-transformers>=5.0.0; extra == "all"
|
|
34
|
+
Requires-Dist: psycopg2-binary>=2.9.9.1; extra == "all"
|
|
35
|
+
Requires-Dist: pgvector>=0.4.0; extra == "all"
|
|
36
|
+
Requires-Dist: langchain-core>=0.3.0; extra == "all"
|
|
37
|
+
Requires-Dist: llama-index-core>=0.13.0; extra == "all"
|
|
38
|
+
Requires-Dist: redis>=5.0.0; extra == "all"
|
|
39
|
+
Provides-Extra: dev
|
|
40
|
+
Requires-Dist: flake8>=7.0.0; extra == "dev"
|
|
41
|
+
Requires-Dist: mypy>=1.13.0; extra == "dev"
|
|
42
|
+
Requires-Dist: bandit>=1.8.0; extra == "dev"
|
|
43
|
+
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
44
|
+
Requires-Dist: httpx>=0.27.0; extra == "dev"
|
|
45
|
+
Requires-Dist: types-requests>=2.32.0; extra == "dev"
|
|
46
|
+
Dynamic: author
|
|
47
|
+
Dynamic: home-page
|
|
48
|
+
Dynamic: requires-python
|
|
49
|
+
|
|
50
|
+
# Synapse Memory Python SDK
|
|
51
|
+
|
|
52
|
+
Core Python SDK and algorithms for the Synapse Cognitive Memory substrate.
|
|
53
|
+
|
|
54
|
+
## Features
|
|
55
|
+
|
|
56
|
+
- **Encrypted SQLite Storage**: Fernet AES-128-CBC with HMAC-SHA256 authenticated encryption at rest.
|
|
57
|
+
- **Dynamic Programming Knapsack Packing**: Exact 0/1 Knapsack optimizer for packing high-relevance memories into strict token envelopes.
|
|
58
|
+
- **Ebbinghaus Decay Engine**: Continuous temporal decay with positive/negative reinforcement factors.
|
|
59
|
+
- **Semantic Deduplication**: Dual lexical Jaccard and dense cosine similarity detection to prevent node fragmentation.
|
|
60
|
+
- **Hybrid Retrieval**: BM25 sparse lexical ranking fused with dense vector embeddings via Reciprocal Rank Fusion (RRF).
|
|
61
|
+
- **Framework Integrations**: True drop-in adapters for LangChain (`BaseMemory`) and LlamaIndex (`BaseMemory`).
|
|
62
|
+
|
|
63
|
+
## Installation
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pip install synapse-memory-engine # from PyPI
|
|
67
|
+
# or, from a checkout of this repository:
|
|
68
|
+
pip install -e .
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Testing
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
python3 -m unittest discover -s tests
|
|
75
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Synapse Memory Python SDK
|
|
2
|
+
|
|
3
|
+
Core Python SDK and algorithms for the Synapse Cognitive Memory substrate.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Encrypted SQLite Storage**: Fernet AES-128-CBC with HMAC-SHA256 authenticated encryption at rest.
|
|
8
|
+
- **Dynamic Programming Knapsack Packing**: Exact 0/1 Knapsack optimizer for packing high-relevance memories into strict token envelopes.
|
|
9
|
+
- **Ebbinghaus Decay Engine**: Continuous temporal decay with positive/negative reinforcement factors.
|
|
10
|
+
- **Semantic Deduplication**: Dual lexical Jaccard and dense cosine similarity detection to prevent node fragmentation.
|
|
11
|
+
- **Hybrid Retrieval**: BM25 sparse lexical ranking fused with dense vector embeddings via Reciprocal Rank Fusion (RRF).
|
|
12
|
+
- **Framework Integrations**: True drop-in adapters for LangChain (`BaseMemory`) and LlamaIndex (`BaseMemory`).
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pip install synapse-memory-engine # from PyPI
|
|
18
|
+
# or, from a checkout of this repository:
|
|
19
|
+
pip install -e .
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Testing
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
python3 -m unittest discover -s tests
|
|
26
|
+
```
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
# Published as `synapse-memory-engine` on PyPI — the `synapse-memory` name is
|
|
7
|
+
# owned by an unrelated third-party project. Import package stays `synapse_memory`.
|
|
8
|
+
# See docs/publishing.md.
|
|
9
|
+
name = "synapse-memory-engine"
|
|
10
|
+
version = "1.3.0"
|
|
11
|
+
authors = [{name = "Synapse Cognitive Systems", email = "singhshivam20009@gmail.com"}]
|
|
12
|
+
description = "Production-grade active RAG & cognitive memory engine with multi-tenancy, pgvector HNSW indexing, semantic deduplication, decay-based pruning, and token-aware context packing."
|
|
13
|
+
readme = "README.md"
|
|
14
|
+
requires-python = ">=3.10"
|
|
15
|
+
dependencies = [
|
|
16
|
+
"fastapi>=0.115.0",
|
|
17
|
+
"pydantic>=2.10.0",
|
|
18
|
+
"uvicorn>=0.34.0",
|
|
19
|
+
"cryptography>=42.0.0",
|
|
20
|
+
"requests>=2.31.0",
|
|
21
|
+
"numpy>=1.26.0",
|
|
22
|
+
# Direct floor for the HTTP dependency graph: the resolver otherwise picks
|
|
23
|
+
# urllib3 2.7.x, which the image scan flags (CVE-2026-97687 / CVE-2026-97689).
|
|
24
|
+
"urllib3>=2.8.0"
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
[project.urls]
|
|
28
|
+
"Homepage" = "https://github.com/721189/Synapse-Memory"
|
|
29
|
+
"Bug Tracker" = "https://github.com/721189/Synapse-Memory/issues"
|
|
30
|
+
"Documentation" = "https://github.com/721189/Synapse-Memory#readme"
|
|
31
|
+
"Repository" = "https://github.com/721189/Synapse-Memory.git"
|
|
32
|
+
|
|
33
|
+
[project.optional-dependencies]
|
|
34
|
+
local-models = [
|
|
35
|
+
"sentence-transformers>=5.0.0"
|
|
36
|
+
]
|
|
37
|
+
pgvector = [
|
|
38
|
+
"psycopg2-binary>=2.9.9.1",
|
|
39
|
+
"pgvector>=0.4.0"
|
|
40
|
+
]
|
|
41
|
+
redis = [
|
|
42
|
+
"redis>=5.0.0"
|
|
43
|
+
]
|
|
44
|
+
langchain = [
|
|
45
|
+
"langchain-core>=0.3.0"
|
|
46
|
+
]
|
|
47
|
+
llamaindex = [
|
|
48
|
+
"llama-index-core>=0.13.0"
|
|
49
|
+
]
|
|
50
|
+
all = [
|
|
51
|
+
"sentence-transformers>=5.0.0",
|
|
52
|
+
"psycopg2-binary>=2.9.9.1",
|
|
53
|
+
"pgvector>=0.4.0",
|
|
54
|
+
"langchain-core>=0.3.0",
|
|
55
|
+
"llama-index-core>=0.13.0",
|
|
56
|
+
"redis>=5.0.0"
|
|
57
|
+
]
|
|
58
|
+
dev = [
|
|
59
|
+
"flake8>=7.0.0",
|
|
60
|
+
"mypy>=1.13.0",
|
|
61
|
+
"bandit>=1.8.0",
|
|
62
|
+
"pytest>=8.0.0",
|
|
63
|
+
# Required by fastapi.testclient.TestClient -> starlette.testclient
|
|
64
|
+
"httpx>=0.27.0",
|
|
65
|
+
# NOTE: types-cryptography is intentionally absent. Its last release is
|
|
66
|
+
# 3.3.23.x, so any `types-cryptography>=42` pin is unsatisfiable; cryptography
|
|
67
|
+
# itself ships inline types (py.typed) since 3.4, and this project requires
|
|
68
|
+
# >=42, so mypy reads the real annotations from the package.
|
|
69
|
+
"types-requests>=2.32.0"
|
|
70
|
+
]
|
|
71
|
+
|
|
72
|
+
[project.scripts]
|
|
73
|
+
synapse-memory = "synapse_memory.cli.synapse_cli:main"
|
|
74
|
+
synapse = "synapse_memory.cli.synapse_cli:main"
|
|
75
|
+
synapse-cli = "synapse_memory.cli.synapse_cli:main"
|
|
76
|
+
|
|
77
|
+
[tool.setuptools.packages.find]
|
|
78
|
+
where = ["."]
|
|
79
|
+
include = ["synapse_memory*"]
|
|
80
|
+
|
|
81
|
+
[tool.setuptools.package-data]
|
|
82
|
+
# Ship the PEP 561 marker so downstream type checkers use our annotations.
|
|
83
|
+
synapse_memory = ["py.typed"]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
from setuptools import setup, find_packages
|
|
2
|
+
|
|
3
|
+
setup(
|
|
4
|
+
name="synapse-memory-engine",
|
|
5
|
+
version="1.2.0",
|
|
6
|
+
description="Sovereign, active RAG & cognitive long-term memory engine for AI agents",
|
|
7
|
+
author="Synapse Cognitive Systems",
|
|
8
|
+
author_email="synapse-memory@users.noreply.github.com",
|
|
9
|
+
url="https://github.com/721189/Synapse-Memory",
|
|
10
|
+
license="All Rights Reserved",
|
|
11
|
+
packages=find_packages(include=["synapse_memory*"]),
|
|
12
|
+
python_requires=">=3.10",
|
|
13
|
+
install_requires=[
|
|
14
|
+
"fastapi>=0.115.0",
|
|
15
|
+
"pydantic>=2.10.0",
|
|
16
|
+
"uvicorn>=0.34.0",
|
|
17
|
+
"cryptography>=42.0.0",
|
|
18
|
+
"requests>=2.31.0",
|
|
19
|
+
"numpy>=1.26.0",
|
|
20
|
+
],
|
|
21
|
+
extras_require={
|
|
22
|
+
"local-models": ["sentence-transformers>=5.0.0"],
|
|
23
|
+
"pgvector": ["psycopg2-binary>=2.9.9.1", "pgvector>=0.4.0"],
|
|
24
|
+
"langchain": ["langchain-core>=0.3.0"],
|
|
25
|
+
"llamaindex": ["llama-index-core>=0.13.0"],
|
|
26
|
+
"all": [
|
|
27
|
+
"sentence-transformers>=5.0.0",
|
|
28
|
+
"psycopg2-binary>=2.9.9.1",
|
|
29
|
+
"pgvector>=0.4.0",
|
|
30
|
+
"langchain-core>=0.3.0",
|
|
31
|
+
"llama-index-core>=0.13.0",
|
|
32
|
+
],
|
|
33
|
+
"dev": [
|
|
34
|
+
"flake8>=7.0.0",
|
|
35
|
+
"mypy>=1.13.0",
|
|
36
|
+
"bandit>=1.8.0",
|
|
37
|
+
"pytest>=8.0.0",
|
|
38
|
+
"types-cryptography>=42.0.0",
|
|
39
|
+
"types-requests>=2.32.0",
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
entry_points={
|
|
43
|
+
"console_scripts": [
|
|
44
|
+
"synapse-memory=synapse_memory.cli.synapse_cli:main",
|
|
45
|
+
"synapse=synapse_memory.cli.synapse_cli:main",
|
|
46
|
+
"synapse-cli=synapse_memory.cli.synapse_cli:main",
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from synapse_memory.core.memory_manager import MemoryManager
|
|
2
|
+
from synapse_memory.core.sqlite_db import SQLiteMemoryStore
|
|
3
|
+
from synapse_memory.core.pgvector_db import PGVectorMemoryStore
|
|
4
|
+
from synapse_memory.core.auth import SecurityManager
|
|
5
|
+
from synapse_memory.core.embedder import SynapseEmbedder
|
|
6
|
+
from synapse_memory.core.hybrid_search import HybridSearch
|
|
7
|
+
from synapse_memory.core.knapsack_packer import KnapsackPacker
|
|
8
|
+
from synapse_memory.core.decay_engine import DecayEngine
|
|
9
|
+
from synapse_memory.integrations.langchain import SynapseLangChainMemory
|
|
10
|
+
from synapse_memory.integrations.llamaindex import SynapseLlamaIndexMemory
|
|
11
|
+
from synapse_memory.client import SynapseClient, SynapseError, CreateResult, QueryResult
|
|
12
|
+
|
|
13
|
+
__version__ = "1.3.0"
|
|
14
|
+
__api_compat_version__ = "v1"
|
|
15
|
+
|
|
16
|
+
__all__ = [
|
|
17
|
+
"MemoryManager",
|
|
18
|
+
"SQLiteMemoryStore",
|
|
19
|
+
"PGVectorMemoryStore",
|
|
20
|
+
"SecurityManager",
|
|
21
|
+
"SynapseEmbedder",
|
|
22
|
+
"HybridSearch",
|
|
23
|
+
"KnapsackPacker",
|
|
24
|
+
"DecayEngine",
|
|
25
|
+
"SynapseLangChainMemory",
|
|
26
|
+
"SynapseLlamaIndexMemory",
|
|
27
|
+
"SynapseClient",
|
|
28
|
+
"SynapseError",
|
|
29
|
+
"CreateResult",
|
|
30
|
+
"QueryResult",
|
|
31
|
+
]
|