warm-memory 0.2.1__tar.gz → 0.2.2__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 (25) hide show
  1. {warm_memory-0.2.1 → warm_memory-0.2.2}/PKG-INFO +59 -11
  2. {warm_memory-0.2.1 → warm_memory-0.2.2}/README.md +58 -10
  3. {warm_memory-0.2.1 → warm_memory-0.2.2}/pyproject.toml +1 -1
  4. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory.egg-info/PKG-INFO +59 -11
  5. {warm_memory-0.2.1 → warm_memory-0.2.2}/LICENSE +0 -0
  6. {warm_memory-0.2.1 → warm_memory-0.2.2}/setup.cfg +0 -0
  7. {warm_memory-0.2.1 → warm_memory-0.2.2}/tests/test_benchmark.py +0 -0
  8. {warm_memory-0.2.1 → warm_memory-0.2.2}/tests/test_langgraph_agent_and_benchmark.py +0 -0
  9. {warm_memory-0.2.1 → warm_memory-0.2.2}/tests/test_langgraph_store.py +0 -0
  10. {warm_memory-0.2.1 → warm_memory-0.2.2}/tests/test_memory.py +0 -0
  11. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/__init__.py +0 -0
  12. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/benchmark.py +0 -0
  13. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/buffer.py +0 -0
  14. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/decorators.py +0 -0
  15. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/langgraph/__init__.py +0 -0
  16. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/langgraph/agent.py +0 -0
  17. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/langgraph/benchmark.py +0 -0
  18. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/langgraph/embeddings.py +0 -0
  19. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/langgraph/store.py +0 -0
  20. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/scoring.py +0 -0
  21. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory/workload.py +0 -0
  22. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory.egg-info/SOURCES.txt +0 -0
  23. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory.egg-info/dependency_links.txt +0 -0
  24. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory.egg-info/requires.txt +0 -0
  25. {warm_memory-0.2.1 → warm_memory-0.2.2}/warm_memory.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warm-memory
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: Capacity-bounded warm memory for LLM agents, with a LangGraph BaseStore implementation, embeddings-based importance scoring, and a comparative benchmark.
5
5
  Author: Vivek Singh
6
6
  License-Expression: MIT
@@ -34,6 +34,7 @@ Dynamic: license-file
34
34
 
35
35
  # WarmMemory
36
36
 
37
+ [![PyPI](https://img.shields.io/pypi/v/warm-memory.svg)](https://pypi.org/project/warm-memory/)
37
38
  [![CI](https://github.com/vsingh45/WarmMemory/actions/workflows/ci.yml/badge.svg)](https://github.com/vsingh45/WarmMemory/actions/workflows/ci.yml)
38
39
  [![Python](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13-blue)](https://www.python.org/)
39
40
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -116,7 +117,15 @@ The benchmark models a practical split:
116
117
  ## Installation
117
118
 
118
119
  ```bash
119
- python3 -m pip install -e .
120
+ pip install warm-memory
121
+ # or with the LangGraph integration:
122
+ pip install warm-memory[langgraph]
123
+ ```
124
+
125
+ Or install from source for development:
126
+
127
+ ```bash
128
+ python3 -m pip install -e ".[langgraph]"
120
129
  ```
121
130
 
122
131
  ## Quick Start
@@ -196,11 +205,49 @@ The HTML guide explains:
196
205
  - how to use the package,
197
206
  - and how the components fit together.
198
207
 
199
- ## Architecture Preview
200
-
201
- ![WarmMemory Architecture](docs/warm_memory_architecture.svg)
202
-
203
- For a richer visual walkthrough, open `docs/warm_memory_guide.html` locally or publish it with GitHub Pages.
208
+ ## Architecture
209
+
210
+ ![WarmMemory architecture](https://raw.githubusercontent.com/vsingh45/WarmMemory/main/docs/warm_memory_architecture.drawio.svg)
211
+
212
+ The pipeline:
213
+
214
+ 1. **Agent Runtime** receives the user query in a per-user namespace and
215
+ triggers two reads: a fast lookup against **WarmMemory** (the in-process
216
+ working set) and a **Retrieval Ranker** scoring pass over those rows
217
+ (`KeywordImportanceScorer` by default; swap in `EmbeddingsImportanceScorer`
218
+ for semantic ranking).
219
+ 2. **Warm Hit?** checks the best score against the configured threshold.
220
+ 3. **Green path (warm hit):** results flow to **Prompt Builder**, which injects
221
+ only the top-K rows into the system prompt before invoking the **LLM**.
222
+ The vector tier is never touched.
223
+ 4. **Orange path (warm miss):** the query falls through to **Long-Term Memory**
224
+ (LangGraph's `InMemoryStore` with an embedding index, `PostgresStore`, or
225
+ any `BaseStore`) and the LLM consumes those results as fallback.
226
+ 5. **Dashed write-back loop:** the LLM response is captured by the decorator
227
+ and written back to WarmMemory (and mirrored to Long-Term Memory by the
228
+ `memory_write` node), so future turns can recall it.
229
+
230
+ On the synthetic benchmark, ~50% of turns take the green path, eliminating
231
+ that many vector-store calls.
232
+
233
+ The diagram ships in two paired formats:
234
+
235
+ - **[`docs/warm_memory_architecture.drawio.svg`](docs/warm_memory_architecture.drawio.svg)** —
236
+ the rendered SVG that GitHub displays inline. The decision arrows flow
237
+ ("marching ants" SMIL animation) so the hot/cold paths read at a glance.
238
+ Open the file directly in a browser to see the animation; GitHub also
239
+ renders the animation when displaying the SVG.
240
+ - **[`docs/warm_memory_architecture.drawio`](docs/warm_memory_architecture.drawio)** —
241
+ the editable mxgraph source. Open at [diagrams.net](https://app.diagrams.net)
242
+ (File → Open from device) to edit; re-export the SVG when done.
243
+
244
+ The `.drawio.svg` also embeds the mxgraph XML in its `content` attribute, so
245
+ either file round-trips through the editor — they're kept in sync from the
246
+ same generator script.
247
+
248
+ For a richer narrated walkthrough, open
249
+ [`docs/warm_memory_guide.html`](docs/warm_memory_guide.html) locally or publish
250
+ it with GitHub Pages.
204
251
 
205
252
  ## Development
206
253
 
@@ -213,10 +260,10 @@ python3 -m unittest discover -s tests -v
213
260
  ## LangGraph Integration
214
261
 
215
262
  WarmMemory ships an optional `warm_memory.langgraph` module that plugs directly
216
- into the LangGraph ecosystem. Install the extra:
263
+ into the LangGraph ecosystem. Install with the extra:
217
264
 
218
265
  ```bash
219
- python3 -m pip install -e ".[langgraph]"
266
+ pip install warm-memory[langgraph]
220
267
  ```
221
268
 
222
269
  ### Drop-in `BaseStore`
@@ -297,8 +344,9 @@ to compare against real semantic search.
297
344
  - record actual model latency and token usage from a live LLM pipeline
298
345
  - add charts and experiment summaries for publication-style reporting
299
346
  - TTL support for the LangGraph `BaseStore`
300
- - publish `warm-memory` to PyPI and propose inclusion in LangGraph's third-party
301
- store list
347
+ - ~~publish `warm-memory` to PyPI~~ ([live at v0.2.1](https://pypi.org/project/warm-memory/))
348
+ - propose inclusion in LangGraph's third-party store list (LangChain Forum
349
+ proposal in flight)
302
350
 
303
351
  ## License
304
352
 
@@ -1,5 +1,6 @@
1
1
  # WarmMemory
2
2
 
3
+ [![PyPI](https://img.shields.io/pypi/v/warm-memory.svg)](https://pypi.org/project/warm-memory/)
3
4
  [![CI](https://github.com/vsingh45/WarmMemory/actions/workflows/ci.yml/badge.svg)](https://github.com/vsingh45/WarmMemory/actions/workflows/ci.yml)
4
5
  [![Python](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13-blue)](https://www.python.org/)
5
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -82,7 +83,15 @@ The benchmark models a practical split:
82
83
  ## Installation
83
84
 
84
85
  ```bash
85
- python3 -m pip install -e .
86
+ pip install warm-memory
87
+ # or with the LangGraph integration:
88
+ pip install warm-memory[langgraph]
89
+ ```
90
+
91
+ Or install from source for development:
92
+
93
+ ```bash
94
+ python3 -m pip install -e ".[langgraph]"
86
95
  ```
87
96
 
88
97
  ## Quick Start
@@ -162,11 +171,49 @@ The HTML guide explains:
162
171
  - how to use the package,
163
172
  - and how the components fit together.
164
173
 
165
- ## Architecture Preview
166
-
167
- ![WarmMemory Architecture](docs/warm_memory_architecture.svg)
168
-
169
- For a richer visual walkthrough, open `docs/warm_memory_guide.html` locally or publish it with GitHub Pages.
174
+ ## Architecture
175
+
176
+ ![WarmMemory architecture](https://raw.githubusercontent.com/vsingh45/WarmMemory/main/docs/warm_memory_architecture.drawio.svg)
177
+
178
+ The pipeline:
179
+
180
+ 1. **Agent Runtime** receives the user query in a per-user namespace and
181
+ triggers two reads: a fast lookup against **WarmMemory** (the in-process
182
+ working set) and a **Retrieval Ranker** scoring pass over those rows
183
+ (`KeywordImportanceScorer` by default; swap in `EmbeddingsImportanceScorer`
184
+ for semantic ranking).
185
+ 2. **Warm Hit?** checks the best score against the configured threshold.
186
+ 3. **Green path (warm hit):** results flow to **Prompt Builder**, which injects
187
+ only the top-K rows into the system prompt before invoking the **LLM**.
188
+ The vector tier is never touched.
189
+ 4. **Orange path (warm miss):** the query falls through to **Long-Term Memory**
190
+ (LangGraph's `InMemoryStore` with an embedding index, `PostgresStore`, or
191
+ any `BaseStore`) and the LLM consumes those results as fallback.
192
+ 5. **Dashed write-back loop:** the LLM response is captured by the decorator
193
+ and written back to WarmMemory (and mirrored to Long-Term Memory by the
194
+ `memory_write` node), so future turns can recall it.
195
+
196
+ On the synthetic benchmark, ~50% of turns take the green path, eliminating
197
+ that many vector-store calls.
198
+
199
+ The diagram ships in two paired formats:
200
+
201
+ - **[`docs/warm_memory_architecture.drawio.svg`](docs/warm_memory_architecture.drawio.svg)** —
202
+ the rendered SVG that GitHub displays inline. The decision arrows flow
203
+ ("marching ants" SMIL animation) so the hot/cold paths read at a glance.
204
+ Open the file directly in a browser to see the animation; GitHub also
205
+ renders the animation when displaying the SVG.
206
+ - **[`docs/warm_memory_architecture.drawio`](docs/warm_memory_architecture.drawio)** —
207
+ the editable mxgraph source. Open at [diagrams.net](https://app.diagrams.net)
208
+ (File → Open from device) to edit; re-export the SVG when done.
209
+
210
+ The `.drawio.svg` also embeds the mxgraph XML in its `content` attribute, so
211
+ either file round-trips through the editor — they're kept in sync from the
212
+ same generator script.
213
+
214
+ For a richer narrated walkthrough, open
215
+ [`docs/warm_memory_guide.html`](docs/warm_memory_guide.html) locally or publish
216
+ it with GitHub Pages.
170
217
 
171
218
  ## Development
172
219
 
@@ -179,10 +226,10 @@ python3 -m unittest discover -s tests -v
179
226
  ## LangGraph Integration
180
227
 
181
228
  WarmMemory ships an optional `warm_memory.langgraph` module that plugs directly
182
- into the LangGraph ecosystem. Install the extra:
229
+ into the LangGraph ecosystem. Install with the extra:
183
230
 
184
231
  ```bash
185
- python3 -m pip install -e ".[langgraph]"
232
+ pip install warm-memory[langgraph]
186
233
  ```
187
234
 
188
235
  ### Drop-in `BaseStore`
@@ -263,8 +310,9 @@ to compare against real semantic search.
263
310
  - record actual model latency and token usage from a live LLM pipeline
264
311
  - add charts and experiment summaries for publication-style reporting
265
312
  - TTL support for the LangGraph `BaseStore`
266
- - publish `warm-memory` to PyPI and propose inclusion in LangGraph's third-party
267
- store list
313
+ - ~~publish `warm-memory` to PyPI~~ ([live at v0.2.1](https://pypi.org/project/warm-memory/))
314
+ - propose inclusion in LangGraph's third-party store list (LangChain Forum
315
+ proposal in flight)
268
316
 
269
317
  ## License
270
318
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "warm-memory"
7
- version = "0.2.1"
7
+ version = "0.2.2"
8
8
  description = "Capacity-bounded warm memory for LLM agents, with a LangGraph BaseStore implementation, embeddings-based importance scoring, and a comparative benchmark."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warm-memory
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: Capacity-bounded warm memory for LLM agents, with a LangGraph BaseStore implementation, embeddings-based importance scoring, and a comparative benchmark.
5
5
  Author: Vivek Singh
6
6
  License-Expression: MIT
@@ -34,6 +34,7 @@ Dynamic: license-file
34
34
 
35
35
  # WarmMemory
36
36
 
37
+ [![PyPI](https://img.shields.io/pypi/v/warm-memory.svg)](https://pypi.org/project/warm-memory/)
37
38
  [![CI](https://github.com/vsingh45/WarmMemory/actions/workflows/ci.yml/badge.svg)](https://github.com/vsingh45/WarmMemory/actions/workflows/ci.yml)
38
39
  [![Python](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13-blue)](https://www.python.org/)
39
40
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -116,7 +117,15 @@ The benchmark models a practical split:
116
117
  ## Installation
117
118
 
118
119
  ```bash
119
- python3 -m pip install -e .
120
+ pip install warm-memory
121
+ # or with the LangGraph integration:
122
+ pip install warm-memory[langgraph]
123
+ ```
124
+
125
+ Or install from source for development:
126
+
127
+ ```bash
128
+ python3 -m pip install -e ".[langgraph]"
120
129
  ```
121
130
 
122
131
  ## Quick Start
@@ -196,11 +205,49 @@ The HTML guide explains:
196
205
  - how to use the package,
197
206
  - and how the components fit together.
198
207
 
199
- ## Architecture Preview
200
-
201
- ![WarmMemory Architecture](docs/warm_memory_architecture.svg)
202
-
203
- For a richer visual walkthrough, open `docs/warm_memory_guide.html` locally or publish it with GitHub Pages.
208
+ ## Architecture
209
+
210
+ ![WarmMemory architecture](https://raw.githubusercontent.com/vsingh45/WarmMemory/main/docs/warm_memory_architecture.drawio.svg)
211
+
212
+ The pipeline:
213
+
214
+ 1. **Agent Runtime** receives the user query in a per-user namespace and
215
+ triggers two reads: a fast lookup against **WarmMemory** (the in-process
216
+ working set) and a **Retrieval Ranker** scoring pass over those rows
217
+ (`KeywordImportanceScorer` by default; swap in `EmbeddingsImportanceScorer`
218
+ for semantic ranking).
219
+ 2. **Warm Hit?** checks the best score against the configured threshold.
220
+ 3. **Green path (warm hit):** results flow to **Prompt Builder**, which injects
221
+ only the top-K rows into the system prompt before invoking the **LLM**.
222
+ The vector tier is never touched.
223
+ 4. **Orange path (warm miss):** the query falls through to **Long-Term Memory**
224
+ (LangGraph's `InMemoryStore` with an embedding index, `PostgresStore`, or
225
+ any `BaseStore`) and the LLM consumes those results as fallback.
226
+ 5. **Dashed write-back loop:** the LLM response is captured by the decorator
227
+ and written back to WarmMemory (and mirrored to Long-Term Memory by the
228
+ `memory_write` node), so future turns can recall it.
229
+
230
+ On the synthetic benchmark, ~50% of turns take the green path, eliminating
231
+ that many vector-store calls.
232
+
233
+ The diagram ships in two paired formats:
234
+
235
+ - **[`docs/warm_memory_architecture.drawio.svg`](docs/warm_memory_architecture.drawio.svg)** —
236
+ the rendered SVG that GitHub displays inline. The decision arrows flow
237
+ ("marching ants" SMIL animation) so the hot/cold paths read at a glance.
238
+ Open the file directly in a browser to see the animation; GitHub also
239
+ renders the animation when displaying the SVG.
240
+ - **[`docs/warm_memory_architecture.drawio`](docs/warm_memory_architecture.drawio)** —
241
+ the editable mxgraph source. Open at [diagrams.net](https://app.diagrams.net)
242
+ (File → Open from device) to edit; re-export the SVG when done.
243
+
244
+ The `.drawio.svg` also embeds the mxgraph XML in its `content` attribute, so
245
+ either file round-trips through the editor — they're kept in sync from the
246
+ same generator script.
247
+
248
+ For a richer narrated walkthrough, open
249
+ [`docs/warm_memory_guide.html`](docs/warm_memory_guide.html) locally or publish
250
+ it with GitHub Pages.
204
251
 
205
252
  ## Development
206
253
 
@@ -213,10 +260,10 @@ python3 -m unittest discover -s tests -v
213
260
  ## LangGraph Integration
214
261
 
215
262
  WarmMemory ships an optional `warm_memory.langgraph` module that plugs directly
216
- into the LangGraph ecosystem. Install the extra:
263
+ into the LangGraph ecosystem. Install with the extra:
217
264
 
218
265
  ```bash
219
- python3 -m pip install -e ".[langgraph]"
266
+ pip install warm-memory[langgraph]
220
267
  ```
221
268
 
222
269
  ### Drop-in `BaseStore`
@@ -297,8 +344,9 @@ to compare against real semantic search.
297
344
  - record actual model latency and token usage from a live LLM pipeline
298
345
  - add charts and experiment summaries for publication-style reporting
299
346
  - TTL support for the LangGraph `BaseStore`
300
- - publish `warm-memory` to PyPI and propose inclusion in LangGraph's third-party
301
- store list
347
+ - ~~publish `warm-memory` to PyPI~~ ([live at v0.2.1](https://pypi.org/project/warm-memory/))
348
+ - propose inclusion in LangGraph's third-party store list (LangChain Forum
349
+ proposal in flight)
302
350
 
303
351
  ## License
304
352
 
File without changes
File without changes