graphiti-core 0.13.2__py3-none-any.whl → 0.15.0__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.

@@ -1,34 +1,48 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: graphiti-core
3
- Version: 0.13.2
3
+ Version: 0.15.0
4
4
  Summary: A temporal graph building library
5
- License: Apache-2.0
6
- Author: Paul Paliychuk
7
- Author-email: paul@getzep.com
8
- Requires-Python: >=3.10,<4
9
- Classifier: License :: OSI Approved :: Apache Software License
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: Programming Language :: Python :: 3.11
13
- Classifier: Programming Language :: Python :: 3.12
14
- Classifier: Programming Language :: Python :: 3.13
5
+ Project-URL: Homepage, https://help.getzep.com/graphiti/graphiti/overview
6
+ Project-URL: Repository, https://github.com/getzep/graphiti
7
+ Author-email: Paul Paliychuk <paul@getzep.com>, Preston Rasmussen <preston@getzep.com>, Daniel Chalef <daniel@getzep.com>
8
+ License-Expression: Apache-2.0
9
+ License-File: LICENSE
10
+ Requires-Python: <4,>=3.10
11
+ Requires-Dist: diskcache>=5.6.3
12
+ Requires-Dist: neo4j>=5.26.0
13
+ Requires-Dist: numpy>=1.0.0
14
+ Requires-Dist: openai>=1.91.0
15
+ Requires-Dist: posthog>=3.0.0
16
+ Requires-Dist: pydantic>=2.11.5
17
+ Requires-Dist: python-dotenv>=1.0.1
18
+ Requires-Dist: tenacity>=9.0.0
15
19
  Provides-Extra: anthropic
20
+ Requires-Dist: anthropic>=0.49.0; extra == 'anthropic'
21
+ Provides-Extra: dev
22
+ Requires-Dist: anthropic>=0.49.0; extra == 'dev'
23
+ Requires-Dist: diskcache-stubs>=5.6.3.6.20240818; extra == 'dev'
24
+ Requires-Dist: google-genai>=1.8.0; extra == 'dev'
25
+ Requires-Dist: groq>=0.2.0; extra == 'dev'
26
+ Requires-Dist: ipykernel>=6.29.5; extra == 'dev'
27
+ Requires-Dist: jupyterlab>=4.2.4; extra == 'dev'
28
+ Requires-Dist: langchain-anthropic>=0.2.4; extra == 'dev'
29
+ Requires-Dist: langchain-openai>=0.2.6; extra == 'dev'
30
+ Requires-Dist: langgraph>=0.2.15; extra == 'dev'
31
+ Requires-Dist: langsmith>=0.1.108; extra == 'dev'
32
+ Requires-Dist: pyright>=1.1.380; extra == 'dev'
33
+ Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
34
+ Requires-Dist: pytest-xdist>=3.6.1; extra == 'dev'
35
+ Requires-Dist: pytest>=8.3.3; extra == 'dev'
36
+ Requires-Dist: ruff>=0.7.1; extra == 'dev'
37
+ Requires-Dist: sentence-transformers>=3.2.1; extra == 'dev'
38
+ Requires-Dist: transformers>=4.45.2; extra == 'dev'
39
+ Requires-Dist: voyageai>=0.2.3; extra == 'dev'
16
40
  Provides-Extra: falkord-db
41
+ Requires-Dist: falkordb<2.0.0,>=1.1.2; extra == 'falkord-db'
17
42
  Provides-Extra: google-genai
43
+ Requires-Dist: google-genai>=1.8.0; extra == 'google-genai'
18
44
  Provides-Extra: groq
19
- Requires-Dist: anthropic (>=0.49.0) ; extra == "anthropic"
20
- Requires-Dist: diskcache (>=5.6.3)
21
- Requires-Dist: falkordb (>=1.1.2,<2.0.0) ; extra == "falkord-db"
22
- Requires-Dist: google-genai (>=1.8.0) ; extra == "google-genai"
23
- Requires-Dist: groq (>=0.2.0) ; extra == "groq"
24
- Requires-Dist: neo4j (>=5.26.0)
25
- Requires-Dist: numpy (>=1.0.0)
26
- Requires-Dist: openai (>=1.91.0)
27
- Requires-Dist: pydantic (>=2.11.5)
28
- Requires-Dist: python-dotenv (>=1.0.1)
29
- Requires-Dist: tenacity (>=9.0.0)
30
- Project-URL: Homepage, https://help.getzep.com/graphiti/graphiti/overview
31
- Project-URL: Repository, https://github.com/getzep/graphiti
45
+ Requires-Dist: groq>=0.2.0; extra == 'groq'
32
46
  Description-Content-Type: text/markdown
33
47
 
34
48
  <p align="center">
@@ -139,7 +153,7 @@ Requirements:
139
153
 
140
154
  - Python 3.10 or higher
141
155
  - Neo4j 5.26 / FalkorDB 1.1.2 or higher (serves as the embeddings storage backend)
142
- - OpenAI API key (for LLM inference and embedding)
156
+ - OpenAI API key (Graphiti defaults to OpenAI for LLM inference and embedding)
143
157
 
144
158
  > [!IMPORTANT]
145
159
  > Graphiti works best with LLM services that support Structured Output (such as OpenAI and Gemini).
@@ -153,6 +167,12 @@ Optional:
153
167
  > [!TIP]
154
168
  > The simplest way to install Neo4j is via [Neo4j Desktop](https://neo4j.com/download/). It provides a user-friendly
155
169
  > interface to manage Neo4j instances and databases.
170
+ > Alternatively, you can use FalkorDB on-premises via Docker and instantly start with the quickstart example:
171
+
172
+ ```bash
173
+ docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest
174
+
175
+ ```
156
176
 
157
177
  ```bash
158
178
  pip install graphiti-core
@@ -161,7 +181,7 @@ pip install graphiti-core
161
181
  or
162
182
 
163
183
  ```bash
164
- poetry add graphiti-core
184
+ uv add graphiti-core
165
185
  ```
166
186
 
167
187
  You can also install optional LLM providers as extras:
@@ -183,13 +203,13 @@ pip install graphiti-core[anthropic,groq,google-genai]
183
203
  ## Quick Start
184
204
 
185
205
  > [!IMPORTANT]
186
- > Graphiti uses OpenAI for LLM inference and embedding. Ensure that an `OPENAI_API_KEY` is set in your environment.
206
+ > Graphiti defaults to using OpenAI for LLM inference and embedding. Ensure that an `OPENAI_API_KEY` is set in your environment.
187
207
  > Support for Anthropic and Groq LLM inferences is available, too. Other LLM providers may be supported via OpenAI
188
208
  > compatible APIs.
189
209
 
190
210
  For a complete working example, see the [Quickstart Example](./examples/quickstart/README.md) in the examples directory. The quickstart demonstrates:
191
211
 
192
- 1. Connecting to a Neo4j database
212
+ 1. Connecting to a Neo4j or FalkorDB database
193
213
  2. Initializing Graphiti indices and constraints
194
214
  3. Adding episodes to the graph (both text and structured JSON)
195
215
  4. Searching for relationships (edges) using hybrid search
@@ -233,7 +253,7 @@ as such this feature is off by default.
233
253
 
234
254
  ## Using Graphiti with Azure OpenAI
235
255
 
236
- Graphiti supports Azure OpenAI for both LLM inference and embeddings. To use Azure OpenAI, you'll need to configure both the LLM client and embedder with your Azure OpenAI credentials.
256
+ Graphiti supports Azure OpenAI for both LLM inference and embeddings. Azure deployments often require different endpoints for LLM and embedding services, and separate deployments for default and small models.
237
257
 
238
258
  ```python
239
259
  from openai import AsyncAzureOpenAI
@@ -242,19 +262,26 @@ from graphiti_core.llm_client import LLMConfig, OpenAIClient
242
262
  from graphiti_core.embedder.openai import OpenAIEmbedder, OpenAIEmbedderConfig
243
263
  from graphiti_core.cross_encoder.openai_reranker_client import OpenAIRerankerClient
244
264
 
245
- # Azure OpenAI configuration
265
+ # Azure OpenAI configuration - use separate endpoints for different services
246
266
  api_key = "<your-api-key>"
247
267
  api_version = "<your-api-version>"
248
- azure_endpoint = "<your-azure-endpoint>"
268
+ llm_endpoint = "<your-llm-endpoint>" # e.g., "https://your-llm-resource.openai.azure.com/"
269
+ embedding_endpoint = "<your-embedding-endpoint>" # e.g., "https://your-embedding-resource.openai.azure.com/"
249
270
 
250
- # Create Azure OpenAI client for LLM
251
- azure_openai_client = AsyncAzureOpenAI(
271
+ # Create separate Azure OpenAI clients for different services
272
+ llm_client_azure = AsyncAzureOpenAI(
252
273
  api_key=api_key,
253
274
  api_version=api_version,
254
- azure_endpoint=azure_endpoint
275
+ azure_endpoint=llm_endpoint
255
276
  )
256
277
 
257
- # Create LLM Config with your Azure deployed model names
278
+ embedding_client_azure = AsyncAzureOpenAI(
279
+ api_key=api_key,
280
+ api_version=api_version,
281
+ azure_endpoint=embedding_endpoint
282
+ )
283
+
284
+ # Create LLM Config with your Azure deployment names
258
285
  azure_llm_config = LLMConfig(
259
286
  small_model="gpt-4.1-nano",
260
287
  model="gpt-4.1-mini",
@@ -267,44 +294,46 @@ graphiti = Graphiti(
267
294
  "password",
268
295
  llm_client=OpenAIClient(
269
296
  llm_config=azure_llm_config,
270
- client=azure_openai_client
297
+ client=llm_client_azure
271
298
  ),
272
299
  embedder=OpenAIEmbedder(
273
300
  config=OpenAIEmbedderConfig(
274
- embedding_model="text-embedding-3-small" # Use your Azure deployed embedding model name
301
+ embedding_model="text-embedding-3-small-deployment" # Your Azure embedding deployment name
275
302
  ),
276
- client=azure_openai_client
303
+ client=embedding_client_azure
277
304
  ),
278
- # Optional: Configure the OpenAI cross encoder with Azure OpenAI
279
305
  cross_encoder=OpenAIRerankerClient(
280
- llm_config=azure_llm_config,
281
- client=azure_openai_client
306
+ llm_config=LLMConfig(
307
+ model=azure_llm_config.small_model # Use small model for reranking
308
+ ),
309
+ client=llm_client_azure
282
310
  )
283
311
  )
284
312
 
285
313
  # Now you can use Graphiti with Azure OpenAI
286
314
  ```
287
315
 
288
- Make sure to replace the placeholder values with your actual Azure OpenAI credentials and specify the correct embedding model name that's deployed in your Azure OpenAI service.
316
+ Make sure to replace the placeholder values with your actual Azure OpenAI credentials and deployment names that match your Azure OpenAI service configuration.
289
317
 
290
318
  ## Using Graphiti with Google Gemini
291
319
 
292
- Graphiti supports Google's Gemini models for both LLM inference and embeddings. To use Gemini, you'll need to configure both the LLM client and embedder with your Google API key.
320
+ Graphiti supports Google's Gemini models for LLM inference, embeddings, and cross-encoding/reranking. To use Gemini, you'll need to configure the LLM client, embedder, and the cross-encoder with your Google API key.
293
321
 
294
322
  Install Graphiti:
295
323
 
296
324
  ```bash
297
- poetry add "graphiti-core[google-genai]"
325
+ uv add "graphiti-core[google-genai]"
298
326
 
299
327
  # or
300
328
 
301
- uv add "graphiti-core[google-genai]"
329
+ pip install "graphiti-core[google-genai]"
302
330
  ```
303
331
 
304
332
  ```python
305
333
  from graphiti_core import Graphiti
306
334
  from graphiti_core.llm_client.gemini_client import GeminiClient, LLMConfig
307
335
  from graphiti_core.embedder.gemini import GeminiEmbedder, GeminiEmbedderConfig
336
+ from graphiti_core.cross_encoder.gemini_reranker_client import GeminiRerankerClient
308
337
 
309
338
  # Google API key configuration
310
339
  api_key = "<your-google-api-key>"
@@ -325,20 +354,27 @@ graphiti = Graphiti(
325
354
  api_key=api_key,
326
355
  embedding_model="embedding-001"
327
356
  )
357
+ ),
358
+ cross_encoder=GeminiRerankerClient(
359
+ config=LLMConfig(
360
+ api_key=api_key,
361
+ model="gemini-2.5-flash-lite-preview-06-17"
362
+ )
328
363
  )
329
364
  )
330
365
 
331
- # Now you can use Graphiti with Google Gemini
366
+ # Now you can use Graphiti with Google Gemini for all components
332
367
  ```
333
368
 
369
+ The Gemini reranker uses the `gemini-2.5-flash-lite-preview-06-17` model by default, which is optimized for cost-effective and low-latency classification tasks. It uses the same boolean classification approach as the OpenAI reranker, leveraging Gemini's log probabilities feature to rank passage relevance.
370
+
334
371
  ## Using Graphiti with Ollama (Local LLM)
335
372
 
336
373
  Graphiti supports Ollama for running local LLMs and embedding models via Ollama's OpenAI-compatible API. This is ideal for privacy-focused applications or when you want to avoid API costs.
337
374
 
338
-
339
375
  Install the models:
340
- ollama pull deepseek-r1:7b # LLM
341
- ollama pull nomic-embed-text # embeddings
376
+ ollama pull deepseek-r1:7b # LLM
377
+ ollama pull nomic-embed-text # embeddings
342
378
 
343
379
  ```python
344
380
  from graphiti_core import Graphiti
@@ -379,13 +415,93 @@ graphiti = Graphiti(
379
415
 
380
416
  Ensure Ollama is running (`ollama serve`) and that you have pulled the models you want to use.
381
417
 
382
-
383
418
  ## Documentation
384
419
 
385
420
  - [Guides and API documentation](https://help.getzep.com/graphiti).
386
421
  - [Quick Start](https://help.getzep.com/graphiti/graphiti/quick-start)
387
422
  - [Building an agent with LangChain's LangGraph and Graphiti](https://help.getzep.com/graphiti/graphiti/lang-graph-agent)
388
423
 
424
+ ## Telemetry
425
+
426
+ Graphiti collects anonymous usage statistics to help us understand how the framework is being used and improve it for everyone. We believe transparency is important, so here's exactly what we collect and why.
427
+
428
+ ### What We Collect
429
+
430
+ When you initialize a Graphiti instance, we collect:
431
+
432
+ - **Anonymous identifier**: A randomly generated UUID stored locally in `~/.cache/graphiti/telemetry_anon_id`
433
+ - **System information**: Operating system, Python version, and system architecture
434
+ - **Graphiti version**: The version you're using
435
+ - **Configuration choices**:
436
+ - LLM provider type (OpenAI, Azure, Anthropic, etc.)
437
+ - Database backend (Neo4j, FalkorDB)
438
+ - Embedder provider (OpenAI, Azure, Voyage, etc.)
439
+
440
+ ### What We Don't Collect
441
+
442
+ We are committed to protecting your privacy. We **never** collect:
443
+
444
+ - Personal information or identifiers
445
+ - API keys or credentials
446
+ - Your actual data, queries, or graph content
447
+ - IP addresses or hostnames
448
+ - File paths or system-specific information
449
+ - Any content from your episodes, nodes, or edges
450
+
451
+ ### Why We Collect This Data
452
+
453
+ This information helps us:
454
+
455
+ - Understand which configurations are most popular to prioritize support and testing
456
+ - Identify which LLM and database providers to focus development efforts on
457
+ - Track adoption patterns to guide our roadmap
458
+ - Ensure compatibility across different Python versions and operating systems
459
+
460
+ By sharing this anonymous information, you help us make Graphiti better for everyone in the community.
461
+
462
+ ### View the Telemetry Code
463
+
464
+ The Telemetry code [may be found here](graphiti_core/telemetry/telemetry.py).
465
+
466
+ ### How to Disable Telemetry
467
+
468
+ Telemetry is **opt-out** and can be disabled at any time. To disable telemetry collection:
469
+
470
+ **Option 1: Environment Variable**
471
+
472
+ ```bash
473
+ export GRAPHITI_TELEMETRY_ENABLED=false
474
+ ```
475
+
476
+ **Option 2: Set in your shell profile**
477
+
478
+ ```bash
479
+ # For bash users (~/.bashrc or ~/.bash_profile)
480
+ echo 'export GRAPHITI_TELEMETRY_ENABLED=false' >> ~/.bashrc
481
+
482
+ # For zsh users (~/.zshrc)
483
+ echo 'export GRAPHITI_TELEMETRY_ENABLED=false' >> ~/.zshrc
484
+ ```
485
+
486
+ **Option 3: Set for a specific Python session**
487
+
488
+ ```python
489
+ import os
490
+ os.environ['GRAPHITI_TELEMETRY_ENABLED'] = 'false'
491
+
492
+ # Then initialize Graphiti as usual
493
+ from graphiti_core import Graphiti
494
+ graphiti = Graphiti(...)
495
+ ```
496
+
497
+ Telemetry is automatically disabled during test runs (when `pytest` is detected).
498
+
499
+ ### Technical Details
500
+
501
+ - Telemetry uses PostHog for anonymous analytics collection
502
+ - All telemetry operations are designed to fail silently - they will never interrupt your application or affect Graphiti functionality
503
+ - The anonymous ID is stored locally and is not tied to any personal information
504
+
389
505
  ## Status and Roadmap
390
506
 
391
507
  Graphiti is under active development. We aim to maintain API stability while working on:
@@ -406,4 +522,3 @@ to [CONTRIBUTING](CONTRIBUTING.md).
406
522
  ## Support
407
523
 
408
524
  Join the [Zep Discord server](https://discord.com/invite/W8Kw6bsgXQ) and make your way to the **#Graphiti** channel!
409
-
@@ -1,31 +1,34 @@
1
1
  graphiti_core/__init__.py,sha256=e5SWFkRiaUwfprYIeIgVIh7JDedNiloZvd3roU-0aDY,55
2
- graphiti_core/cross_encoder/__init__.py,sha256=hry59vz21x-AtGZ0MJ7ugw0HTwJkXiddpp_Yqnwsen0,723
2
+ graphiti_core/edges.py,sha256=h67vyXYhZYqlwaOmaqjHiGns6nEjuBVSIAFBMveNVo8,16257
3
+ graphiti_core/errors.py,sha256=cH_v9TPgEPeQE6GFOHIg5TvejpUCBddGarMY2Whxbwc,2707
4
+ graphiti_core/graph_queries.py,sha256=KfWDp8xDnPa9bcHskw8NeMpeeHBtZWBCosVdu1Iwv34,7076
5
+ graphiti_core/graphiti.py,sha256=nEs8hQI4O_3eu8_RjT8nXAiVB1PdqeSglltxnzSdCgI,33163
6
+ graphiti_core/graphiti_types.py,sha256=rL-9bvnLobunJfXU4hkD6mAj14pofKp_wq8QsFDZwDU,1035
7
+ graphiti_core/helpers.py,sha256=ixUOfWN_GJVRvdiK-RzgAYJD18nM1CLmLBDNmVrIboQ,4948
8
+ graphiti_core/nodes.py,sha256=34X5cyXLBFTq9o2MxG2xk419ZSFz0i_CyAV-dDu7Mbg,19002
9
+ graphiti_core/py.typed,sha256=vlmmzQOt7bmeQl9L3XJP4W6Ry0iiELepnOrinKz5KQg,79
10
+ graphiti_core/cross_encoder/__init__.py,sha256=_F2F1eEIogkrD6QBOnMZc_SIJ2d4JsLr136gpM59r-Y,804
3
11
  graphiti_core/cross_encoder/bge_reranker_client.py,sha256=sY7RKsCp90vTjYxv6vmIHT4p3oCsFCRYWH-H0Ia0vN0,1449
4
12
  graphiti_core/cross_encoder/client.py,sha256=KLsbfWKOEaAV3adFe3XZlAeb-gje9_sVKCVZTaJP3ac,1441
13
+ graphiti_core/cross_encoder/gemini_reranker_client.py,sha256=7ePrgEAF_bw4AFqmqJDTd6y_Yc0prm2zZ4hGFyayDgI,5833
5
14
  graphiti_core/cross_encoder/openai_reranker_client.py,sha256=_Hftiz250HbEkY_26z6A1oxg4pzM8Sbr8CwnbJEsggc,4522
6
- graphiti_core/driver/__init__.py,sha256=DumfxIEY3z_nkz5YGaYH1GM50HgeAdEowNK189jcdAg,626
15
+ graphiti_core/driver/__init__.py,sha256=VRr-znMYmo6Sxdh-5UrNwAxY0Af7k2JqnKlxHi8K8cg,668
7
16
  graphiti_core/driver/driver.py,sha256=-FHAA2gM8FA0re-q6udmjQ6pNFdFGRQrMRuAiqX_1A4,1829
8
- graphiti_core/driver/falkordb_driver.py,sha256=Iz3wnfoJIO7EslqZvG6mduyZ5C-DWxFDPM5Q4QJRCuo,4686
9
- graphiti_core/driver/neo4j_driver.py,sha256=D8CV5GbhKoHIQ78BA9ozlwdvXPLUbBmFSfT2lww8PJk,1910
10
- graphiti_core/edges.py,sha256=h67vyXYhZYqlwaOmaqjHiGns6nEjuBVSIAFBMveNVo8,16257
17
+ graphiti_core/driver/falkordb_driver.py,sha256=9myO1CqJUl-fu-yw2hZcwM51-Rt2Lluv9f-cTzvcnv8,5958
18
+ graphiti_core/driver/neo4j_driver.py,sha256=f8cSkcaCDyQLyI85JBprw0rdrarpd5Tq1mlX-Mz3kls,1962
11
19
  graphiti_core/embedder/__init__.py,sha256=EL564ZuE-DZjcuKNUK_exMn_XHXm2LdO9fzdXePVKL4,179
12
20
  graphiti_core/embedder/azure_openai.py,sha256=OyomPwC1fIsddI-3n6g00kQFdQznZorBhHwkQKCLUok,2384
13
21
  graphiti_core/embedder/client.py,sha256=qEpSHceL_Gc4QQPJWIOnuNLemNuR_TYA4r28t2Vldbg,1115
14
22
  graphiti_core/embedder/gemini.py,sha256=7En-W46YxqC5qL3vYB5Ed-Xm0hqLxi7-LgZ95c4M7ME,3263
15
23
  graphiti_core/embedder/openai.py,sha256=bIThUoLMeGlHG2-3VikzK6JZfOHKn4PKvUMx5sHxJy8,2192
16
- graphiti_core/embedder/voyage.py,sha256=gQhdcz2IYPSyOcDn3w8aHToVS3KQhyZrUBm4vqr3WcE,2224
17
- graphiti_core/errors.py,sha256=cH_v9TPgEPeQE6GFOHIg5TvejpUCBddGarMY2Whxbwc,2707
18
- graphiti_core/graph_queries.py,sha256=KfWDp8xDnPa9bcHskw8NeMpeeHBtZWBCosVdu1Iwv34,7076
19
- graphiti_core/graphiti.py,sha256=6TcOq65HEtJ5gQ29YHJ6HVhBkjsoWtv_mVhlcZok2MY,30399
20
- graphiti_core/graphiti_types.py,sha256=rL-9bvnLobunJfXU4hkD6mAj14pofKp_wq8QsFDZwDU,1035
21
- graphiti_core/helpers.py,sha256=0qmGnKxxYk27JGQbx6PlM7E6nRghUrEKBym0d3WSJY4,3875
24
+ graphiti_core/embedder/voyage.py,sha256=IxWFGW_SxisF1WxBuBvGV82BPBZrKgesiF3g54jQwpQ,2265
22
25
  graphiti_core/llm_client/__init__.py,sha256=QgBWUiCeBp6YiA_xqyrDvJ9jIyy1hngH8g7FWahN3nw,776
23
26
  graphiti_core/llm_client/anthropic_client.py,sha256=392rtkH_I7yOJUlQvjoOnS8Lz14WBP8egQ3OfRH0nFs,12481
24
27
  graphiti_core/llm_client/azure_openai_client.py,sha256=ekERggAekbb7enes1RJqdRChf_mjaZTFXsnMbxO7azQ,2497
25
28
  graphiti_core/llm_client/client.py,sha256=v_w5TBbDJYYADCXSs2r287g5Ami2Urma-GGEbHSI_Jg,5826
26
29
  graphiti_core/llm_client/config.py,sha256=90IgSBxZE_3nWdaEONVLUznI8lytPA7ZyexQz-_c55U,2560
27
30
  graphiti_core/llm_client/errors.py,sha256=pn6brRiLW60DAUIXJYKBT6MInrS4ueuH1hNLbn_JbQo,1243
28
- graphiti_core/llm_client/gemini_client.py,sha256=OdRAB2bWlXAi3gRmE1xVljYJ0T7JTZC82VK71wHyZi8,7722
31
+ graphiti_core/llm_client/gemini_client.py,sha256=EhuqknKgPMAq1H-ILw5-bTvMsY1DHVdSeGYBrUxCzqE,12871
29
32
  graphiti_core/llm_client/groq_client.py,sha256=k7zbXHfOpb4jhvvKFsccVYTq4yGGpxmY7xzNA02N2zk,2559
30
33
  graphiti_core/llm_client/openai_base_client.py,sha256=gfMcKPyLrylz_ouRdoenDWXyitmgfFZ17Zthbkq3Qs4,8126
31
34
  graphiti_core/llm_client/openai_client.py,sha256=ykBK94gxzE7iXux5rvOzVNA8q0Sqzq-8njPB75XcRe8,3240
@@ -36,7 +39,6 @@ graphiti_core/models/edges/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
36
39
  graphiti_core/models/edges/edge_db_queries.py,sha256=4vSWdmE5MKoDrlHJmmr2xNhVSQ-buE1O7mCX_H0Wtfk,2294
37
40
  graphiti_core/models/nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
41
  graphiti_core/models/nodes/node_db_queries.py,sha256=AQgRGVO-GgFWfLq1G6k8s86WItwpXruy3Mj4DBli-vM,2145
39
- graphiti_core/nodes.py,sha256=kdJY-Ugyk6J2x70w4EF_EoFNgy7D3TMOMVSUfEth6rE,18665
40
42
  graphiti_core/prompts/__init__.py,sha256=EA-x9xUki9l8wnu2l8ek_oNf75-do5tq5hVq7Zbv8Kw,101
41
43
  graphiti_core/prompts/dedupe_edges.py,sha256=-Fq8YlCPHOEnjJceSOy68dya3VIbmvMtcS8V9u9Tv6g,5699
42
44
  graphiti_core/prompts/dedupe_nodes.py,sha256=WdSnqu6O4TkEE_z1u2CEnNH0sWgBNDl4dUx20gSp464,7852
@@ -49,26 +51,27 @@ graphiti_core/prompts/lib.py,sha256=DCyHePM4_q-CptTpEXGO_dBv9k7xDtclEaB1dGu7EcI,
49
51
  graphiti_core/prompts/models.py,sha256=NgxdbPHJpBEcpbXovKyScgpBc73Q-GIW-CBDlBtDjto,894
50
52
  graphiti_core/prompts/prompt_helpers.py,sha256=-9TABwIcIQUVHcNANx6wIZd-FT2DgYKyGTfx4IGYq2I,64
51
53
  graphiti_core/prompts/summarize_nodes.py,sha256=tbg-AgWlzgFBeImKkZ28h2SpmqfPPqvN2Ol1Q71VF9Y,4146
52
- graphiti_core/py.typed,sha256=vlmmzQOt7bmeQl9L3XJP4W6Ry0iiELepnOrinKz5KQg,79
53
54
  graphiti_core/search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
55
  graphiti_core/search/search.py,sha256=bJCFaNApu5396pXTa-xciu8ORDdRFJqfE3j2ieRVd7Y,15162
55
56
  graphiti_core/search/search_config.py,sha256=VvKg6AB_RPhoe56DBBXHRBXHThAVJ_OLFCyq_yKof-A,3765
56
57
  graphiti_core/search/search_config_recipes.py,sha256=4GquRphHhJlpXQhAZOySYnCzBWYoTwxlJj44eTOavZQ,7443
57
- graphiti_core/search/search_filters.py,sha256=jG30nMWX03xoT9ohgyHNu_Xes8GwjIF2eTv6QaiWMqw,6466
58
+ graphiti_core/search/search_filters.py,sha256=H7Vgob2SvwsG56qiTDXDhI4R4MMY40TVpphY5KHPwYU,6382
58
59
  graphiti_core/search/search_helpers.py,sha256=G5Ceaq5Pfgx0Weelqgeylp_pUHwiBnINaUYsDbURJbE,2636
59
- graphiti_core/search/search_utils.py,sha256=q-FMbSFf7mPXWdgnKQDKQIACrHI8NwqknGDnMy4dJzs,34957
60
+ graphiti_core/search/search_utils.py,sha256=MYIlA21f4G2hY_boWMuRK75E77mGdR7j_idjCjdy77Q,34619
61
+ graphiti_core/telemetry/__init__.py,sha256=5kALLDlU9bb2v19CdN7qVANsJWyfnL9E60J6FFgzm3o,226
62
+ graphiti_core/telemetry/telemetry.py,sha256=47LrzOVBCcZxsYPsnSxWFiztHoxYKKxPwyRX0hnbDGc,3230
60
63
  graphiti_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- graphiti_core/utils/bulk_utils.py,sha256=RPPTAqBRg6iR1T6g6TDpfUGvkYmTEyVNrVPz_y91f-s,16196
64
+ graphiti_core/utils/bulk_utils.py,sha256=YnyXzmOFgqbLdIAIu9Y6aJjUZHhXj8nBnlegkXBTKi8,16344
62
65
  graphiti_core/utils/datetime_utils.py,sha256=Ti-2tnrDFRzBsbfblzsHybsM3jaDLP4-VT2t0VhpIzU,1357
63
66
  graphiti_core/utils/maintenance/__init__.py,sha256=vW4H1KyapTl-OOz578uZABYcpND4wPx3Vt6aAPaXh78,301
64
- graphiti_core/utils/maintenance/community_operations.py,sha256=2rhRqtL9gDbjXKO4-S0nGpaWvS4ck5rFiazZiogIJao,10088
65
- graphiti_core/utils/maintenance/edge_operations.py,sha256=Fwu2TLmQF_9EVcA-uUlt1ZiGC6RILIfKDr9W7R4gAno,21633
66
- graphiti_core/utils/maintenance/graph_data_operations.py,sha256=OHuiAyP1Z7dfR90dWVQ87TJQO83P0sQihJyr4WIhOhk,5362
67
- graphiti_core/utils/maintenance/node_operations.py,sha256=-PC1N-Hf2GElhLcTTSjTaCVvQdJdNpouJPB7joGACZo,15566
67
+ graphiti_core/utils/maintenance/community_operations.py,sha256=AimQzT7wr4M3ofsUetHa1cPEmhsngqJoNWm3Q-3Hwww,10115
68
+ graphiti_core/utils/maintenance/edge_operations.py,sha256=sj4AJ9zPm8ACiC1wSj99bFUUmg4OgFVFnPOSXKfb3T8,21578
69
+ graphiti_core/utils/maintenance/graph_data_operations.py,sha256=4NR06gn11yfNOknVkk2JpF_zYMiaNizl3urL0LgnXrE,5391
70
+ graphiti_core/utils/maintenance/node_operations.py,sha256=0WdH_VrkVXLV9YX3xPErXOFygOo2N9g3es9yIB2Yl8Q,15876
68
71
  graphiti_core/utils/maintenance/temporal_operations.py,sha256=mJkw9xLB4W2BsLfC5POr0r-PHWL9SIfNj_l_xu0B5ug,3410
69
72
  graphiti_core/utils/maintenance/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
73
  graphiti_core/utils/ontology_utils/entity_types_utils.py,sha256=QJX5cG0GSSNF_Mm_yrldr69wjVAbN_MxLhOSznz85Hk,1279
71
- graphiti_core-0.13.2.dist-info/LICENSE,sha256=KCUwCyDXuVEgmDWkozHyniRyWjnWUWjkuDHfU6o3JlA,11325
72
- graphiti_core-0.13.2.dist-info/METADATA,sha256=nC4MmJ04hSsPebERWE2oaerz5j-0F2hFBE8sAYV9Wzo,17229
73
- graphiti_core-0.13.2.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
74
- graphiti_core-0.13.2.dist-info/RECORD,,
74
+ graphiti_core-0.15.0.dist-info/METADATA,sha256=55es9UNNaAPAxb8onmNH-rz0rpqafsy2zgpBQqIKWl0,21839
75
+ graphiti_core-0.15.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
76
+ graphiti_core-0.15.0.dist-info/licenses/LICENSE,sha256=KCUwCyDXuVEgmDWkozHyniRyWjnWUWjkuDHfU6o3JlA,11325
77
+ graphiti_core-0.15.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any