etchmem 0.1.3__tar.gz → 0.1.4__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 (32) hide show
  1. {etchmem-0.1.3 → etchmem-0.1.4}/PKG-INFO +10 -4
  2. {etchmem-0.1.3 → etchmem-0.1.4}/README.md +9 -3
  3. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem.egg-info/PKG-INFO +10 -4
  4. {etchmem-0.1.3 → etchmem-0.1.4}/pyproject.toml +1 -1
  5. {etchmem-0.1.3 → etchmem-0.1.4}/LICENSE +0 -0
  6. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/__init__.py +0 -0
  7. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/config.py +0 -0
  8. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/connector/__init__.py +0 -0
  9. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/connector/base.py +0 -0
  10. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/connector/remote.py +0 -0
  11. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/consolidate/__init__.py +0 -0
  12. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/consolidate/worker.py +0 -0
  13. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/engine.py +0 -0
  14. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/models.py +0 -0
  15. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/recall/__init__.py +0 -0
  16. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/recall/recaller.py +0 -0
  17. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/stores/__init__.py +0 -0
  18. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/stores/base.py +0 -0
  19. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/stores/chroma_store.py +0 -0
  20. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/util/__init__.py +0 -0
  21. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/util/affectability.py +0 -0
  22. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem/util/hashing.py +0 -0
  23. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem.egg-info/SOURCES.txt +0 -0
  24. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem.egg-info/dependency_links.txt +0 -0
  25. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem.egg-info/requires.txt +0 -0
  26. {etchmem-0.1.3 → etchmem-0.1.4}/etchmem.egg-info/top_level.txt +0 -0
  27. {etchmem-0.1.3 → etchmem-0.1.4}/setup.cfg +0 -0
  28. {etchmem-0.1.3 → etchmem-0.1.4}/tests/test_consolidate_idempotent.py +0 -0
  29. {etchmem-0.1.3 → etchmem-0.1.4}/tests/test_formation_buckets.py +0 -0
  30. {etchmem-0.1.3 → etchmem-0.1.4}/tests/test_recall.py +0 -0
  31. {etchmem-0.1.3 → etchmem-0.1.4}/tests/test_reconsolidation.py +0 -0
  32. {etchmem-0.1.3 → etchmem-0.1.4}/tests/test_remember_recall.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: etchmem
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: A pluggable, embeddable reconsolidating skill memory engine for AI agents
5
5
  Author: Andrey Olishchuk
6
6
  License: MIT
@@ -28,7 +28,13 @@ Dynamic: license-file
28
28
 
29
29
  # etchmem
30
30
 
31
- A lightweight, embeddable memory engine for LLM agents. Agents remember things, recall them later, and the stored knowledge quietly matures through use — no extra plumbing required.
31
+ **Where agents grow up — not where they take notes.**
32
+
33
+ Modern AI agents are built from skills. Every time a skill runs, it leaves a trail: results, feedback, corrections, surprises. That trail is experience — and experience is how an agent learns how the world actually works.
34
+
35
+ `etchmem` is memory for that maturation. Not a scratchpad for the current session. Not a user profile to personalize replies. Not a long chat log you grep when context runs out. It is the layer where raw observations turn into durable understanding — how things work, what users react to, what failed last time — and keep sharpening every time the agent draws on it again.
36
+
37
+ Over time, knowledge compounds. The agent stops merely following scenarios and starts carrying a worldview shaped by use.
32
38
 
33
39
  ```bash
34
40
  pip install etchmem
@@ -38,7 +44,7 @@ pip install etchmem
38
44
 
39
45
  ## What it is
40
46
 
41
- `etchmem` gives your agent a persistent memory that improves over time. You deposit raw observations, retrieve them with natural-language queries, and periodically consolidate — at which point the engine synthesizes scattered signals into compact knowledge articles and rewrites anything that's been recalled against fresh context.
47
+ `etchmem` gives your agent a persistent memory that matures through living. You deposit raw observations — facts, outcomes, feedback — scoped to a skill or left general. You retrieve with natural-language queries. Periodically you consolidate, and the engine synthesizes scattered signal into compact knowledge articles, rewriting anything that has been recalled against fresh context.
42
48
 
43
49
  It is not a vector database and not an agent runtime. It sits above [ChromaDB](https://www.trychroma.com/), which handles all storage and embedding, and exposes exactly **three methods**.
44
50
 
@@ -52,7 +58,7 @@ Memory is kept in three tiers:
52
58
  - **Buffer** — a working space for deposits and recall-events, waiting for the next consolidation run.
53
59
  - **Injected** — synthesized knowledge articles, the primary search target. Only current knowledge is kept; superseded articles are hard-deleted.
54
60
 
55
- The key idea is **reconsolidation**: every `recall()` call emits a recall-event into the buffer. When you later call `consolidate()`, the engine detects which injected articles were used, checks whether fresh signal changes anything, and rewrites them if needed. Knowledge that gets recalled stays current as a side-effect of being recalled. Knowledge nobody asks about simply rests.
61
+ The key idea is **reconsolidation**: every `recall()` call emits a recall-event into the buffer. When you later call `consolidate()`, the engine detects which injected articles were used, checks whether fresh signal changes anything, and rewrites them if needed. Knowledge that gets recalled stays current as a side-effect of being recalled. Knowledge nobody asks about simply rests. This is how a skill — or the agent as a whole — accumulates experience instead of starting from zero each run.
56
62
 
57
63
  Embeddings are computed locally by ChromaDB's built-in model — no external embedding API. Synthesis (the rewrite step inside `consolidate`) calls an LLM via `OPENAI_API_KEY` or `ANTHROPIC_API_KEY`.
58
64
 
@@ -1,6 +1,12 @@
1
1
  # etchmem
2
2
 
3
- A lightweight, embeddable memory engine for LLM agents. Agents remember things, recall them later, and the stored knowledge quietly matures through use — no extra plumbing required.
3
+ **Where agents grow up — not where they take notes.**
4
+
5
+ Modern AI agents are built from skills. Every time a skill runs, it leaves a trail: results, feedback, corrections, surprises. That trail is experience — and experience is how an agent learns how the world actually works.
6
+
7
+ `etchmem` is memory for that maturation. Not a scratchpad for the current session. Not a user profile to personalize replies. Not a long chat log you grep when context runs out. It is the layer where raw observations turn into durable understanding — how things work, what users react to, what failed last time — and keep sharpening every time the agent draws on it again.
8
+
9
+ Over time, knowledge compounds. The agent stops merely following scenarios and starts carrying a worldview shaped by use.
4
10
 
5
11
  ```bash
6
12
  pip install etchmem
@@ -10,7 +16,7 @@ pip install etchmem
10
16
 
11
17
  ## What it is
12
18
 
13
- `etchmem` gives your agent a persistent memory that improves over time. You deposit raw observations, retrieve them with natural-language queries, and periodically consolidate — at which point the engine synthesizes scattered signals into compact knowledge articles and rewrites anything that's been recalled against fresh context.
19
+ `etchmem` gives your agent a persistent memory that matures through living. You deposit raw observations — facts, outcomes, feedback — scoped to a skill or left general. You retrieve with natural-language queries. Periodically you consolidate, and the engine synthesizes scattered signal into compact knowledge articles, rewriting anything that has been recalled against fresh context.
14
20
 
15
21
  It is not a vector database and not an agent runtime. It sits above [ChromaDB](https://www.trychroma.com/), which handles all storage and embedding, and exposes exactly **three methods**.
16
22
 
@@ -24,7 +30,7 @@ Memory is kept in three tiers:
24
30
  - **Buffer** — a working space for deposits and recall-events, waiting for the next consolidation run.
25
31
  - **Injected** — synthesized knowledge articles, the primary search target. Only current knowledge is kept; superseded articles are hard-deleted.
26
32
 
27
- The key idea is **reconsolidation**: every `recall()` call emits a recall-event into the buffer. When you later call `consolidate()`, the engine detects which injected articles were used, checks whether fresh signal changes anything, and rewrites them if needed. Knowledge that gets recalled stays current as a side-effect of being recalled. Knowledge nobody asks about simply rests.
33
+ The key idea is **reconsolidation**: every `recall()` call emits a recall-event into the buffer. When you later call `consolidate()`, the engine detects which injected articles were used, checks whether fresh signal changes anything, and rewrites them if needed. Knowledge that gets recalled stays current as a side-effect of being recalled. Knowledge nobody asks about simply rests. This is how a skill — or the agent as a whole — accumulates experience instead of starting from zero each run.
28
34
 
29
35
  Embeddings are computed locally by ChromaDB's built-in model — no external embedding API. Synthesis (the rewrite step inside `consolidate`) calls an LLM via `OPENAI_API_KEY` or `ANTHROPIC_API_KEY`.
30
36
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: etchmem
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: A pluggable, embeddable reconsolidating skill memory engine for AI agents
5
5
  Author: Andrey Olishchuk
6
6
  License: MIT
@@ -28,7 +28,13 @@ Dynamic: license-file
28
28
 
29
29
  # etchmem
30
30
 
31
- A lightweight, embeddable memory engine for LLM agents. Agents remember things, recall them later, and the stored knowledge quietly matures through use — no extra plumbing required.
31
+ **Where agents grow up — not where they take notes.**
32
+
33
+ Modern AI agents are built from skills. Every time a skill runs, it leaves a trail: results, feedback, corrections, surprises. That trail is experience — and experience is how an agent learns how the world actually works.
34
+
35
+ `etchmem` is memory for that maturation. Not a scratchpad for the current session. Not a user profile to personalize replies. Not a long chat log you grep when context runs out. It is the layer where raw observations turn into durable understanding — how things work, what users react to, what failed last time — and keep sharpening every time the agent draws on it again.
36
+
37
+ Over time, knowledge compounds. The agent stops merely following scenarios and starts carrying a worldview shaped by use.
32
38
 
33
39
  ```bash
34
40
  pip install etchmem
@@ -38,7 +44,7 @@ pip install etchmem
38
44
 
39
45
  ## What it is
40
46
 
41
- `etchmem` gives your agent a persistent memory that improves over time. You deposit raw observations, retrieve them with natural-language queries, and periodically consolidate — at which point the engine synthesizes scattered signals into compact knowledge articles and rewrites anything that's been recalled against fresh context.
47
+ `etchmem` gives your agent a persistent memory that matures through living. You deposit raw observations — facts, outcomes, feedback — scoped to a skill or left general. You retrieve with natural-language queries. Periodically you consolidate, and the engine synthesizes scattered signal into compact knowledge articles, rewriting anything that has been recalled against fresh context.
42
48
 
43
49
  It is not a vector database and not an agent runtime. It sits above [ChromaDB](https://www.trychroma.com/), which handles all storage and embedding, and exposes exactly **three methods**.
44
50
 
@@ -52,7 +58,7 @@ Memory is kept in three tiers:
52
58
  - **Buffer** — a working space for deposits and recall-events, waiting for the next consolidation run.
53
59
  - **Injected** — synthesized knowledge articles, the primary search target. Only current knowledge is kept; superseded articles are hard-deleted.
54
60
 
55
- The key idea is **reconsolidation**: every `recall()` call emits a recall-event into the buffer. When you later call `consolidate()`, the engine detects which injected articles were used, checks whether fresh signal changes anything, and rewrites them if needed. Knowledge that gets recalled stays current as a side-effect of being recalled. Knowledge nobody asks about simply rests.
61
+ The key idea is **reconsolidation**: every `recall()` call emits a recall-event into the buffer. When you later call `consolidate()`, the engine detects which injected articles were used, checks whether fresh signal changes anything, and rewrites them if needed. Knowledge that gets recalled stays current as a side-effect of being recalled. Knowledge nobody asks about simply rests. This is how a skill — or the agent as a whole — accumulates experience instead of starting from zero each run.
56
62
 
57
63
  Embeddings are computed locally by ChromaDB's built-in model — no external embedding API. Synthesis (the rewrite step inside `consolidate`) calls an LLM via `OPENAI_API_KEY` or `ANTHROPIC_API_KEY`.
58
64
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "etchmem"
7
- version = "0.1.3"
7
+ version = "0.1.4"
8
8
  description = "A pluggable, embeddable reconsolidating skill memory engine for AI agents"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes