graphiti-core 0.11.6rc5__tar.gz → 0.11.6rc6__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 (66) hide show
  1. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/PKG-INFO +1 -1
  2. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/helpers.py +22 -5
  3. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/pyproject.toml +1 -1
  4. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/LICENSE +0 -0
  5. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/README.md +0 -0
  6. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/__init__.py +0 -0
  7. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/cross_encoder/__init__.py +0 -0
  8. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
  9. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/cross_encoder/client.py +0 -0
  10. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
  11. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/edges.py +0 -0
  12. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/embedder/__init__.py +0 -0
  13. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/embedder/client.py +0 -0
  14. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/embedder/gemini.py +0 -0
  15. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/embedder/openai.py +0 -0
  16. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/embedder/voyage.py +0 -0
  17. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/errors.py +0 -0
  18. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/graphiti.py +0 -0
  19. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/graphiti_types.py +0 -0
  20. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/__init__.py +0 -0
  21. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/anthropic_client.py +0 -0
  22. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/client.py +0 -0
  23. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/config.py +0 -0
  24. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/errors.py +0 -0
  25. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/gemini_client.py +0 -0
  26. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/groq_client.py +0 -0
  27. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/openai_client.py +0 -0
  28. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/openai_generic_client.py +0 -0
  29. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/llm_client/utils.py +0 -0
  30. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/models/__init__.py +0 -0
  31. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/models/edges/__init__.py +0 -0
  32. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/models/edges/edge_db_queries.py +0 -0
  33. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/models/nodes/__init__.py +0 -0
  34. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/models/nodes/node_db_queries.py +0 -0
  35. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/nodes.py +0 -0
  36. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/__init__.py +0 -0
  37. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/dedupe_edges.py +0 -0
  38. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/dedupe_nodes.py +0 -0
  39. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/eval.py +0 -0
  40. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/extract_edge_dates.py +0 -0
  41. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/extract_edges.py +0 -0
  42. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/extract_nodes.py +0 -0
  43. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/invalidate_edges.py +0 -0
  44. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/lib.py +0 -0
  45. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/models.py +0 -0
  46. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/prompt_helpers.py +0 -0
  47. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/prompts/summarize_nodes.py +0 -0
  48. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/py.typed +0 -0
  49. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/search/__init__.py +0 -0
  50. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/search/search.py +0 -0
  51. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/search/search_config.py +0 -0
  52. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/search/search_config_recipes.py +0 -0
  53. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/search/search_filters.py +0 -0
  54. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/search/search_helpers.py +0 -0
  55. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/search/search_utils.py +0 -0
  56. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/__init__.py +0 -0
  57. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/bulk_utils.py +0 -0
  58. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/datetime_utils.py +0 -0
  59. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/maintenance/__init__.py +0 -0
  60. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/maintenance/community_operations.py +0 -0
  61. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
  62. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
  63. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/maintenance/node_operations.py +0 -0
  64. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
  65. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/maintenance/utils.py +0 -0
  66. {graphiti_core-0.11.6rc5 → graphiti_core-0.11.6rc6}/graphiti_core/utils/ontology_utils/entity_types_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: graphiti-core
3
- Version: 0.11.6rc5
3
+ Version: 0.11.6rc6
4
4
  Summary: A temporal graph building library
5
5
  License: Apache-2.0
6
6
  Author: Paul Paliychuk
@@ -18,6 +18,7 @@ import asyncio
18
18
  import os
19
19
  from collections.abc import Coroutine
20
20
  from datetime import datetime
21
+ from typing import Any
21
22
 
22
23
  import numpy as np
23
24
  from dotenv import load_dotenv
@@ -91,11 +92,27 @@ def normalize_l2(embedding: list[float]):
91
92
 
92
93
 
93
94
  # Use this instead of asyncio.gather() to bound coroutines
94
- async def semaphore_gather(*coroutines: Coroutine, max_coroutines: int = SEMAPHORE_LIMIT):
95
+ async def semaphore_gather(
96
+ *coroutines: Coroutine,
97
+ max_coroutines: int = SEMAPHORE_LIMIT,
98
+ ):
95
99
  semaphore = asyncio.Semaphore(max_coroutines)
96
100
 
97
- async def _wrap_coroutine(coroutine):
101
+ async def _wrap(coro: Coroutine) -> Any:
98
102
  async with semaphore:
99
- return await coroutine
100
-
101
- return await asyncio.gather(*(_wrap_coroutine(coroutine) for coroutine in coroutines))
103
+ return await coro
104
+
105
+ results = []
106
+ batch = []
107
+ for coroutine in coroutines:
108
+ batch.append(_wrap(coroutine))
109
+ # once we hit max_coroutines, gather and clear the batch
110
+ if len(batch) >= max_coroutines:
111
+ results.extend(await asyncio.gather(*batch))
112
+ batch.clear()
113
+
114
+ # gather any remaining coroutines in the final batch
115
+ if batch:
116
+ results.extend(await asyncio.gather(*batch))
117
+
118
+ return results
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "graphiti-core"
3
3
  description = "A temporal graph building library"
4
- version = "0.11.6pre5"
4
+ version = "0.11.6pre6"
5
5
  authors = [
6
6
  { "name" = "Paul Paliychuk", "email" = "paul@getzep.com" },
7
7
  { "name" = "Preston Rasmussen", "email" = "preston@getzep.com" },