graphiti-core 0.7.1__py3-none-any.whl → 0.7.3__py3-none-any.whl

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.

Potentially problematic release.


This version of graphiti-core might be problematic. Click here for more details.

graphiti_core/nodes.py CHANGED
@@ -514,7 +514,7 @@ def get_episodic_node_from_record(record: Any) -> EpisodicNode:
514
514
 
515
515
 
516
516
  def get_entity_node_from_record(record: Any) -> EntityNode:
517
- return EntityNode(
517
+ entity_node = EntityNode(
518
518
  uuid=record['uuid'],
519
519
  name=record['name'],
520
520
  group_id=record['group_id'],
@@ -525,6 +525,15 @@ def get_entity_node_from_record(record: Any) -> EntityNode:
525
525
  attributes=record['attributes'],
526
526
  )
527
527
 
528
+ del entity_node.attributes['uuid']
529
+ del entity_node.attributes['name']
530
+ del entity_node.attributes['group_id']
531
+ del entity_node.attributes['name_embedding']
532
+ del entity_node.attributes['summary']
533
+ del entity_node.attributes['created_at']
534
+
535
+ return entity_node
536
+
528
537
 
529
538
  def get_community_node_from_record(record: Any) -> CommunityNode:
530
539
  return CommunityNode(
@@ -158,7 +158,7 @@ async def edge_fulltext_search(
158
158
  """
159
159
  CALL db.index.fulltext.queryRelationships("edge_name_and_fact", $query, {limit: $limit})
160
160
  YIELD relationship AS rel, score
161
- MATCH (:ENTITY)-[r:RELATES_TO]->(:ENTITY)
161
+ MATCH (:Entity)-[r:RELATES_TO]->(:Entity)
162
162
  WHERE r.group_id IN $group_ids"""
163
163
  + filter_query
164
164
  + """\nWITH r, score, startNode(r) AS n, endNode(r) AS m
@@ -229,8 +229,8 @@ async def edge_similarity_search(
229
229
 
230
230
  query: LiteralString = (
231
231
  """
232
- MATCH (n:Entity)-[r:RELATES_TO]->(m:Entity)
233
- """
232
+ MATCH (n:Entity)-[r:RELATES_TO]->(m:Entity)
233
+ """
234
234
  + group_filter_query
235
235
  + filter_query
236
236
  + """\nWITH DISTINCT r, vector.similarity.cosine(r.fact_embedding, $search_vector) AS score
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: graphiti-core
3
- Version: 0.7.1
3
+ Version: 0.7.3
4
4
  Summary: A temporal graph building library
5
5
  License: Apache-2.0
6
6
  Author: Paul Paliychuk
@@ -20,12 +20,16 @@ Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
20
20
  Requires-Dist: tenacity (==9.0.0)
21
21
  Description-Content-Type: text/markdown
22
22
 
23
- <div align="center">
24
-
25
- # Graphiti
26
-
27
- ## Temporal Knowledge Graphs for Agentic Applications
23
+ <p align="center">
24
+ <a href="https://www.getzep.com/">
25
+ <img src="https://github.com/user-attachments/assets/119c5682-9654-4257-8922-56b7cb8ffd73" width="150" alt="Zep Logo">
26
+ </a>
27
+ </p>
28
28
 
29
+ <h1 align="center">
30
+ Graphiti
31
+ </h1>
32
+ <h2 align="center"> Temporal Knowledge Graphs for Agentic Applications</h2>
29
33
  <br />
30
34
 
31
35
  [![Discord](https://dcbadge.vercel.app/api/server/W8Kw6bsgXQ?style=flat)](https://discord.com/invite/W8Kw6bsgXQ)
@@ -34,10 +38,9 @@ Description-Content-Type: text/markdown
34
38
  [![MyPy Check](https://github.com/getzep/Graphiti/actions/workflows/typecheck.yml/badge.svg)](https://github.com/getzep/Graphiti/actions/workflows/typecheck.yml)
35
39
  [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/getzep/Graphiti)
36
40
 
41
+ :star: *Help us reach more developers and grow the Graphiti community. Star this repo!*
37
42
  <br />
38
43
 
39
- </div>
40
-
41
44
  Graphiti builds dynamic, temporally aware Knowledge Graphs that represent complex, evolving relationships between
42
45
  entities over time. Graphiti ingests both unstructured and structured data, and the resulting graph may be queried using
43
46
  a fusion of time, full-text, semantic, and graph algorithm approaches.
@@ -69,7 +72,8 @@ recall and state-based reasoning for both assistants and agents.
69
72
 
70
73
  Graphiti powers the core of [Zep's memory layer](https://www.getzep.com) for LLM-powered Assistants and Agents.
71
74
 
72
- Using Graphiti, we've demonstrated Zep is the [State of the Art in Agent Memory](https://blog.getzep.com/state-of-the-art-agent-memory/).
75
+ Using Graphiti, we've demonstrated Zep is
76
+ the [State of the Art in Agent Memory](https://blog.getzep.com/state-of-the-art-agent-memory/).
73
77
 
74
78
  Read our paper: [Zep: A Temporal Knowledge Graph Architecture for Agent Memory](https://arxiv.org/abs/2501.13956).
75
79
 
@@ -108,7 +112,7 @@ scale:
108
112
  Requirements:
109
113
 
110
114
  - Python 3.10 or higher
111
- - Neo4j 5.21 or higher
115
+ - Neo4j 5.26 or higher
112
116
  - OpenAI API key (for LLM inference and embedding)
113
117
 
114
118
  Optional:
@@ -133,7 +137,8 @@ poetry add graphiti-core
133
137
 
134
138
  > [!IMPORTANT]
135
139
  > Graphiti uses OpenAI for LLM inference and embedding. Ensure that an `OPENAI_API_KEY` is set in your environment.
136
- > Support for Anthropic and Groq LLM inferences is available, too. Other LLM providers may be supported via OpenAI compatible APIs.
140
+ > Support for Anthropic and Groq LLM inferences is available, too. Other LLM providers may be supported via OpenAI
141
+ > compatible APIs.
137
142
 
138
143
  ```python
139
144
  from graphiti_core import Graphiti
@@ -198,7 +203,6 @@ graphiti.close()
198
203
  ```
199
204
 
200
205
  ## Graph Service
201
-
202
206
  The `server` directory contains an API service for interacting with the Graphiti API. It is built using FastAPI.
203
207
 
204
208
  Please see the [server README](./server/README.md) for more information.
@@ -225,8 +229,8 @@ as such this feature is off by default.
225
229
  Graphiti is under active development. We aim to maintain API stability while working on:
226
230
 
227
231
  - [ ] Supporting custom graph schemas:
228
- - Allow developers to provide their own defined node and edge classes when ingesting episodes
229
- - Enable more flexible knowledge representation tailored to specific use cases
232
+ - Allow developers to provide their own defined node and edge classes when ingesting episodes
233
+ - Enable more flexible knowledge representation tailored to specific use cases
230
234
  - [x] Enhancing retrieval capabilities with more robust and configurable options
231
235
  - [ ] Expanding test coverage to ensure reliability and catch edge cases
232
236
 
@@ -25,7 +25,7 @@ graphiti_core/models/edges/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
25
25
  graphiti_core/models/edges/edge_db_queries.py,sha256=2UoLkmazO-FJYqjc3g0LuL-pyjekzQxxed_XHVv_HZE,2671
26
26
  graphiti_core/models/nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  graphiti_core/models/nodes/node_db_queries.py,sha256=f4_UT6XL8UDt4_CO9YIHeI8pvpw_vrutA9SYrgi6QCU,2121
28
- graphiti_core/nodes.py,sha256=dKllAYBvNy6uCDxvacvNoVHiEm-wJm_cIK3KKTahVkM,16709
28
+ graphiti_core/nodes.py,sha256=0lH8SOpnzTtNIvG4ScnJ3SeQudviCsZwsnM867kY1aI,16998
29
29
  graphiti_core/prompts/__init__.py,sha256=EA-x9xUki9l8wnu2l8ek_oNf75-do5tq5hVq7Zbv8Kw,101
30
30
  graphiti_core/prompts/dedupe_edges.py,sha256=EuX8ngeItBzrlMBOgeHrpExzxIFHD2aoDyaX1ZniF6I,3556
31
31
  graphiti_core/prompts/dedupe_nodes.py,sha256=mqvNATL-4Vo33vaxUEZfOq6hXXOiL-ftY0zcx2G-82I,4624
@@ -44,7 +44,7 @@ graphiti_core/search/search.py,sha256=DX-tcIa0SiKI2HX-b_WdjGE74A8RLWQor4p90dJluU
44
44
  graphiti_core/search/search_config.py,sha256=UZN8jFA4pBlw2O5N1cuhVRBdTwMLR9N3Oyo6sQ4MDVw,3117
45
45
  graphiti_core/search/search_config_recipes.py,sha256=yUqiLnn9vFg39M8eVwjVKfBCL_ptGrfDMQ47m_Blb0g,6885
46
46
  graphiti_core/search/search_filters.py,sha256=4MJmCXD-blMc71xB4F9K4a72qidDCigADQ_ztdG15kc,5884
47
- graphiti_core/search/search_utils.py,sha256=i9qTBOZOiwnuiUNlIw9OoTYIrooBrM2unPwylGVNVq8,25657
47
+ graphiti_core/search/search_utils.py,sha256=mZqq97XEjTga3pz50l__b8qVFVPRes1dNGB8tZktJ3A,25665
48
48
  graphiti_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  graphiti_core/utils/bulk_utils.py,sha256=P4LKO46Yle4tBdNcQ3hDHcSQFaR8UBLfoL-z1M2Wua0,14690
50
50
  graphiti_core/utils/datetime_utils.py,sha256=Ti-2tnrDFRzBsbfblzsHybsM3jaDLP4-VT2t0VhpIzU,1357
@@ -55,7 +55,7 @@ graphiti_core/utils/maintenance/graph_data_operations.py,sha256=qds9ALk9PhpQs1CN
55
55
  graphiti_core/utils/maintenance/node_operations.py,sha256=gihbPEBH6StLQCSd9wSu582d4Owaw3l5JLR1IBDrnVs,14137
56
56
  graphiti_core/utils/maintenance/temporal_operations.py,sha256=RdNtubCyYhOVrvcOIq2WppHls1Q-BEjtsN8r38l-Rtc,3691
57
57
  graphiti_core/utils/maintenance/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- graphiti_core-0.7.1.dist-info/LICENSE,sha256=KCUwCyDXuVEgmDWkozHyniRyWjnWUWjkuDHfU6o3JlA,11325
59
- graphiti_core-0.7.1.dist-info/METADATA,sha256=7jGgBXFuCT17KdyQVeSWAN1R1KQrBSd5Up92tqR30-c,10242
60
- graphiti_core-0.7.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
61
- graphiti_core-0.7.1.dist-info/RECORD,,
58
+ graphiti_core-0.7.3.dist-info/LICENSE,sha256=KCUwCyDXuVEgmDWkozHyniRyWjnWUWjkuDHfU6o3JlA,11325
59
+ graphiti_core-0.7.3.dist-info/METADATA,sha256=CA2-V0qWnuIo_sQecfWTQQJ-9GLb8lMvMd5FqbUVFPQ,10541
60
+ graphiti_core-0.7.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
61
+ graphiti_core-0.7.3.dist-info/RECORD,,