sunholo 0.69.10__tar.gz → 0.69.13__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 (130) hide show
  1. {sunholo-0.69.10 → sunholo-0.69.13}/PKG-INFO +4 -2
  2. {sunholo-0.69.10 → sunholo-0.69.13}/setup.py +3 -1
  3. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/discovery_engine/chunker_handler.py +2 -0
  4. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/discovery_engine/discovery_engine_client.py +33 -25
  5. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/logging.py +7 -1
  6. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo.egg-info/PKG-INFO +4 -2
  7. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo.egg-info/requires.txt +2 -0
  8. {sunholo-0.69.10 → sunholo-0.69.13}/LICENSE.txt +0 -0
  9. {sunholo-0.69.10 → sunholo-0.69.13}/MANIFEST.in +0 -0
  10. {sunholo-0.69.10 → sunholo-0.69.13}/README.md +0 -0
  11. {sunholo-0.69.10 → sunholo-0.69.13}/setup.cfg +0 -0
  12. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/__init__.py +0 -0
  13. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/__init__.py +0 -0
  14. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/chat_history.py +0 -0
  15. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/dispatch_to_qa.py +0 -0
  16. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/fastapi/__init__.py +0 -0
  17. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/fastapi/base.py +0 -0
  18. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/fastapi/qna_routes.py +0 -0
  19. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/flask/__init__.py +0 -0
  20. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/flask/base.py +0 -0
  21. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/flask/qna_routes.py +0 -0
  22. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/flask/vac_routes.py +0 -0
  23. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/langserve.py +0 -0
  24. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/pubsub.py +0 -0
  25. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/route.py +0 -0
  26. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/special_commands.py +0 -0
  27. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/agents/swagger.py +0 -0
  28. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/archive/__init__.py +0 -0
  29. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/archive/archive.py +0 -0
  30. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/auth/__init__.py +0 -0
  31. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/auth/run.py +0 -0
  32. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/bots/__init__.py +0 -0
  33. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/bots/discord.py +0 -0
  34. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/bots/github_webhook.py +0 -0
  35. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/bots/webapp.py +0 -0
  36. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/__init__.py +0 -0
  37. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  38. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/doc_handling.py +0 -0
  39. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/images.py +0 -0
  40. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/loaders.py +0 -0
  41. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/message_data.py +0 -0
  42. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/pdfs.py +0 -0
  43. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/publish.py +0 -0
  44. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/chunker/splitter.py +0 -0
  45. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/__init__.py +0 -0
  46. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/chat_vac.py +0 -0
  47. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/cli.py +0 -0
  48. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/cli_init.py +0 -0
  49. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/configs.py +0 -0
  50. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/deploy.py +0 -0
  51. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/embedder.py +0 -0
  52. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/merge_texts.py +0 -0
  53. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/run_proxy.py +0 -0
  54. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/sun_rich.py +0 -0
  55. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/cli/swagger.py +0 -0
  56. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/components/__init__.py +0 -0
  57. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/components/llm.py +0 -0
  58. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/components/retriever.py +0 -0
  59. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/components/vectorstore.py +0 -0
  60. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/__init__.py +0 -0
  61. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/alloydb.py +0 -0
  62. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/alloydb_client.py +0 -0
  63. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/database.py +0 -0
  64. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/lancedb.py +0 -0
  65. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/sql/sb/create_function.sql +0 -0
  66. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  67. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/sql/sb/create_table.sql +0 -0
  68. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  69. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/sql/sb/return_sources.sql +0 -0
  70. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/sql/sb/setup.sql +0 -0
  71. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/static_dbs.py +0 -0
  72. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/database/uuid.py +0 -0
  73. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/discovery_engine/__init__.py +0 -0
  74. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/discovery_engine/create_new.py +0 -0
  75. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/embedder/__init__.py +0 -0
  76. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/embedder/embed_chunk.py +0 -0
  77. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/gcs/__init__.py +0 -0
  78. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/gcs/add_file.py +0 -0
  79. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/gcs/download_url.py +0 -0
  80. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/gcs/metadata.py +0 -0
  81. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/langfuse/__init__.py +0 -0
  82. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/langfuse/callback.py +0 -0
  83. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/langfuse/prompts.py +0 -0
  84. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/llamaindex/__init__.py +0 -0
  85. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/llamaindex/generate.py +0 -0
  86. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/llamaindex/get_files.py +0 -0
  87. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/llamaindex/import_files.py +0 -0
  88. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/lookup/__init__.py +0 -0
  89. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/lookup/model_lookup.yaml +0 -0
  90. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/patches/__init__.py +0 -0
  91. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/patches/langchain/__init__.py +0 -0
  92. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/patches/langchain/lancedb.py +0 -0
  93. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/patches/langchain/vertexai.py +0 -0
  94. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/pubsub/__init__.py +0 -0
  95. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/pubsub/process_pubsub.py +0 -0
  96. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/pubsub/pubsub_manager.py +0 -0
  97. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/qna/__init__.py +0 -0
  98. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/qna/parsers.py +0 -0
  99. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/qna/retry.py +0 -0
  100. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/streaming/__init__.py +0 -0
  101. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/streaming/content_buffer.py +0 -0
  102. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/streaming/langserve.py +0 -0
  103. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/streaming/stream_lookup.py +0 -0
  104. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/streaming/streaming.py +0 -0
  105. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/summarise/__init__.py +0 -0
  106. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/summarise/summarise.py +0 -0
  107. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/__init__.py +0 -0
  108. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/api_key.py +0 -0
  109. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/big_context.py +0 -0
  110. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/config.py +0 -0
  111. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/config_schema.py +0 -0
  112. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/gcp.py +0 -0
  113. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/gcp_project.py +0 -0
  114. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/parsers.py +0 -0
  115. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/timedelta.py +0 -0
  116. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/user_ids.py +0 -0
  117. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/utils/version.py +0 -0
  118. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/vertex/__init__.py +0 -0
  119. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/vertex/init.py +0 -0
  120. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/vertex/memory_tools.py +0 -0
  121. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo/vertex/safety.py +0 -0
  122. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo.egg-info/SOURCES.txt +0 -0
  123. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo.egg-info/dependency_links.txt +0 -0
  124. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo.egg-info/entry_points.txt +0 -0
  125. {sunholo-0.69.10 → sunholo-0.69.13}/sunholo.egg-info/top_level.txt +0 -0
  126. {sunholo-0.69.10 → sunholo-0.69.13}/tests/test_chat_history.py +0 -0
  127. {sunholo-0.69.10 → sunholo-0.69.13}/tests/test_chunker.py +0 -0
  128. {sunholo-0.69.10 → sunholo-0.69.13}/tests/test_config.py +0 -0
  129. {sunholo-0.69.10 → sunholo-0.69.13}/tests/test_dispatch_to_qa.py +0 -0
  130. {sunholo-0.69.10 → sunholo-0.69.13}/tests/test_swagger.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.69.10
3
+ Version: 0.69.13
4
4
  Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
5
  Home-page: https://github.com/sunholo-data/sunholo-py
6
- Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.69.10.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.69.13.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -61,6 +61,7 @@ Requires-Dist: pypdf; extra == "all"
61
61
  Requires-Dist: python-socketio; extra == "all"
62
62
  Requires-Dist: rich; extra == "all"
63
63
  Requires-Dist: supabase; extra == "all"
64
+ Requires-Dist: tantivy; extra == "all"
64
65
  Requires-Dist: tiktoken; extra == "all"
65
66
  Provides-Extra: cli
66
67
  Requires-Dist: jsonschema>=4.21.1; extra == "cli"
@@ -73,6 +74,7 @@ Requires-Dist: pg8000; extra == "database"
73
74
  Requires-Dist: pgvector; extra == "database"
74
75
  Requires-Dist: psycopg2-binary; extra == "database"
75
76
  Requires-Dist: lancedb; extra == "database"
77
+ Requires-Dist: tantivy; extra == "database"
76
78
  Provides-Extra: pipeline
77
79
  Requires-Dist: GitPython; extra == "pipeline"
78
80
  Requires-Dist: lark; extra == "pipeline"
@@ -1,7 +1,7 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
3
  # Define your base version
4
- version = '0.69.10'
4
+ version = '0.69.13'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -76,6 +76,7 @@ setup(
76
76
  "python-socketio",
77
77
  "rich",
78
78
  "supabase",
79
+ "tantivy",
79
80
  "tiktoken",
80
81
 
81
82
  ],
@@ -91,6 +92,7 @@ setup(
91
92
  "pgvector",
92
93
  "psycopg2-binary",
93
94
  "lancedb",
95
+ "tantivy"
94
96
  ],
95
97
  'pipeline': [
96
98
  "GitPython",
@@ -51,6 +51,8 @@ def do_discovery_engine(message_data, metadata, vector_name):
51
51
 
52
52
  if message_data.startswith("gs://"):
53
53
  log.info(f"DiscoveryEngineClient.import_files for {message_data}")
54
+ if "/pdf_parts/" in message_data:
55
+ return None
54
56
  for corp in corpuses:
55
57
  try:
56
58
  response = corp.import_documents(
@@ -201,55 +201,63 @@ class DiscoveryEngineClient:
201
201
  ),
202
202
  )
203
203
 
204
+ log.info(f"Discovery engine request: {search_request=}")
204
205
  search_response = self.search_client.search(search_request)
206
+
205
207
 
206
208
  if parse_chunks_to_string:
207
-
208
- return self.process_chunks(search_response)
209
+
210
+ big_string = self.process_chunks(search_response)
211
+ log.info(f"Discovery engine chunks string sample: {big_string[:100]}")
212
+
213
+ return big_string
209
214
 
215
+ log.info("Discovery engine response object")
210
216
  return search_response
211
217
 
212
218
  def process_chunks(self, response):
213
219
  all_chunks = []
214
220
 
215
- if 'results' not in response:
216
- raise ValueError('No results found in response')
221
+ # Check if the response contains results
222
+ if not hasattr(response, 'results') or not response.results:
223
+ raise ValueError(f'No results found in response: {response=}')
217
224
 
218
- for result in response['results']:
219
- chunk = result['chunk']
220
- chunk_metadata = chunk['chunkMetadata']
225
+ # Iterate through each result in the response
226
+ for result in response.results:
227
+ chunk = result.chunk
228
+ chunk_metadata = chunk.chunkMetadata
221
229
 
222
- if 'previousChunks' in chunk_metadata:
230
+ if hasattr(chunk_metadata, 'previousChunks'):
223
231
  # Process previous chunks
224
- for prev_chunk in chunk['chunkMetadata']['previousChunks']:
232
+ for prev_chunk in chunk_metadata.previousChunks:
225
233
  prev_chunk_string = (
226
- f"# {prev_chunk['id']}\n"
227
- f"{prev_chunk['content']}\n"
234
+ f"# {prev_chunk.id}\n"
235
+ f"{prev_chunk.content}\n"
228
236
  f"## metadata\n"
229
- f"Document URI: {prev_chunk['documentMetadata']['uri']}\n"
230
- f"Document Title: {prev_chunk['documentMetadata']['title']}\n"
237
+ f"Document URI: {prev_chunk.documentMetadata.uri}\n"
238
+ f"Document Title: {prev_chunk.documentMetadata.title}\n"
231
239
  )
232
240
  all_chunks.append(prev_chunk_string)
233
241
 
234
242
  # Process fetched chunk
235
243
  fetched_chunk_string = (
236
- f"# {chunk['id']}\n"
237
- f"{chunk['content']}\n"
244
+ f"# {chunk.id}\n"
245
+ f"{chunk.content}\n"
238
246
  f"## metadata\n"
239
- f"Document URI: {chunk['documentMetadata']['uri']}\n"
240
- f"Document Title: {chunk['documentMetadata']['title']}\n"
247
+ f"Document URI: {chunk.documentMetadata.uri}\n"
248
+ f"Document Title: {chunk.documentMetadata.title}\n"
241
249
  )
242
250
  all_chunks.append(fetched_chunk_string)
243
251
 
244
252
  # Process next chunks
245
- if 'nextChunks' in chunk_metadata:
246
- for next_chunk in chunk_metadata['nextChunks']:
253
+ if hasattr(chunk_metadata, 'nextChunks'):
254
+ for next_chunk in chunk_metadata.nextChunks:
247
255
  next_chunk_string = (
248
- f"# {next_chunk['id']}\n"
249
- f"{next_chunk['content']}\n"
256
+ f"# {next_chunk.id}\n"
257
+ f"{next_chunk.content}\n"
250
258
  f"## metadata\n"
251
- f"Document URI: {next_chunk['documentMetadata']['uri']}\n"
252
- f"Document Title: {next_chunk['documentMetadata']['title']}\n"
259
+ f"Document URI: {next_chunk.documentMetadata.uri}\n"
260
+ f"Document Title: {next_chunk.documentMetadata.title}\n"
253
261
  )
254
262
  all_chunks.append(next_chunk_string)
255
263
 
@@ -311,9 +319,9 @@ class DiscoveryEngineClient:
311
319
  try:
312
320
  operation = import_documents_with_retry(self.doc_client, request)
313
321
  except ResourceExhausted as e:
314
- print(f"Operation failed after retries due to quota exceeded: {e}")
322
+ log.error(f"Operation failed after retries due to quota exceeded: {e}")
315
323
  except Exception as e:
316
- print(f"An unexpected error occurred: {e}")
324
+ log.error(f"An unexpected error occurred: {e}")
317
325
 
318
326
  return operation.operation.name
319
327
 
@@ -119,8 +119,14 @@ class GoogleCloudLogging:
119
119
  if log_text:
120
120
  if isinstance(log_struct, dict):
121
121
  logger.log_struct(log_struct, severity=severity, source_location=caller_info)
122
- else:
122
+ elif isinstance(log_struct, str):
123
123
  logger.log_text(log_text, severity=severity, source_location=caller_info)
124
+ else:
125
+ try:
126
+ turn_to_text = str(log_text)
127
+ logger.log_text(turn_to_text, severity=severity, source_location=caller_info)
128
+ except Exception as err:
129
+ print(f"Could not log this: {log_text=} - {str(err)}")
124
130
 
125
131
  elif log_struct:
126
132
  if not isinstance(log_struct, dict):
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.69.10
3
+ Version: 0.69.13
4
4
  Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
5
  Home-page: https://github.com/sunholo-data/sunholo-py
6
- Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.69.10.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.69.13.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -61,6 +61,7 @@ Requires-Dist: pypdf; extra == "all"
61
61
  Requires-Dist: python-socketio; extra == "all"
62
62
  Requires-Dist: rich; extra == "all"
63
63
  Requires-Dist: supabase; extra == "all"
64
+ Requires-Dist: tantivy; extra == "all"
64
65
  Requires-Dist: tiktoken; extra == "all"
65
66
  Provides-Extra: cli
66
67
  Requires-Dist: jsonschema>=4.21.1; extra == "cli"
@@ -73,6 +74,7 @@ Requires-Dist: pg8000; extra == "database"
73
74
  Requires-Dist: pgvector; extra == "database"
74
75
  Requires-Dist: psycopg2-binary; extra == "database"
75
76
  Requires-Dist: lancedb; extra == "database"
77
+ Requires-Dist: tantivy; extra == "database"
76
78
  Provides-Extra: pipeline
77
79
  Requires-Dist: GitPython; extra == "pipeline"
78
80
  Requires-Dist: lark; extra == "pipeline"
@@ -42,6 +42,7 @@ pypdf
42
42
  python-socketio
43
43
  rich
44
44
  supabase
45
+ tantivy
45
46
  tiktoken
46
47
 
47
48
  [anthropic]
@@ -59,6 +60,7 @@ pg8000
59
60
  pgvector
60
61
  psycopg2-binary
61
62
  lancedb
63
+ tantivy
62
64
 
63
65
  [gcp]
64
66
  google-auth-httplib2
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes