sunholo 0.95.3__tar.gz → 0.95.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 (160) hide show
  1. {sunholo-0.95.3 → sunholo-0.95.4}/PKG-INFO +2 -2
  2. {sunholo-0.95.3 → sunholo-0.95.4}/setup.py +1 -1
  3. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/invoke/async_class.py +7 -19
  4. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/vertex/memory_tools.py +3 -5
  5. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo.egg-info/PKG-INFO +2 -2
  6. {sunholo-0.95.3 → sunholo-0.95.4}/LICENSE.txt +0 -0
  7. {sunholo-0.95.3 → sunholo-0.95.4}/MANIFEST.in +0 -0
  8. {sunholo-0.95.3 → sunholo-0.95.4}/README.md +0 -0
  9. {sunholo-0.95.3 → sunholo-0.95.4}/setup.cfg +0 -0
  10. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/__init__.py +0 -0
  11. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/__init__.py +0 -0
  12. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/chat_history.py +0 -0
  13. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/dispatch_to_qa.py +0 -0
  14. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/fastapi/__init__.py +0 -0
  15. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/fastapi/base.py +0 -0
  16. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/fastapi/qna_routes.py +0 -0
  17. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/flask/__init__.py +0 -0
  18. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/flask/base.py +0 -0
  19. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/flask/qna_routes.py +0 -0
  20. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/flask/vac_routes.py +0 -0
  21. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/langserve.py +0 -0
  22. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/pubsub.py +0 -0
  23. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/route.py +0 -0
  24. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/special_commands.py +0 -0
  25. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/agents/swagger.py +0 -0
  26. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/archive/__init__.py +0 -0
  27. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/archive/archive.py +0 -0
  28. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/auth/__init__.py +0 -0
  29. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/auth/gcloud.py +0 -0
  30. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/auth/refresh.py +0 -0
  31. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/auth/run.py +0 -0
  32. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/azure/__init__.py +0 -0
  33. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/azure/auth.py +0 -0
  34. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/azure/blobs.py +0 -0
  35. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/azure/event_grid.py +0 -0
  36. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/bots/__init__.py +0 -0
  37. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/bots/discord.py +0 -0
  38. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/bots/github_webhook.py +0 -0
  39. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/bots/webapp.py +0 -0
  40. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/__init__.py +0 -0
  41. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/azure.py +0 -0
  42. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/doc_handling.py +0 -0
  43. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/encode_metadata.py +0 -0
  44. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/images.py +0 -0
  45. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/loaders.py +0 -0
  46. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/message_data.py +0 -0
  47. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/pdfs.py +0 -0
  48. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/process_chunker_data.py +0 -0
  49. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/publish.py +0 -0
  50. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/pubsub.py +0 -0
  51. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/chunker/splitter.py +0 -0
  52. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/__init__.py +0 -0
  53. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/chat_vac.py +0 -0
  54. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/cli.py +0 -0
  55. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/cli_init.py +0 -0
  56. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/configs.py +0 -0
  57. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/deploy.py +0 -0
  58. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/embedder.py +0 -0
  59. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/merge_texts.py +0 -0
  60. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/run_proxy.py +0 -0
  61. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/sun_rich.py +0 -0
  62. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/swagger.py +0 -0
  63. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/cli/vertex.py +0 -0
  64. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/components/__init__.py +0 -0
  65. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/components/llm.py +0 -0
  66. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/components/retriever.py +0 -0
  67. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/components/vectorstore.py +0 -0
  68. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/custom_logging.py +0 -0
  69. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/__init__.py +0 -0
  70. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/alloydb.py +0 -0
  71. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/alloydb_client.py +0 -0
  72. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/database.py +0 -0
  73. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/lancedb.py +0 -0
  74. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/sql/sb/create_function.sql +0 -0
  75. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  76. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/sql/sb/create_table.sql +0 -0
  77. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  78. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/sql/sb/return_sources.sql +0 -0
  79. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/sql/sb/setup.sql +0 -0
  80. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/static_dbs.py +0 -0
  81. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/database/uuid.py +0 -0
  82. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/discovery_engine/__init__.py +0 -0
  83. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/discovery_engine/chunker_handler.py +0 -0
  84. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/discovery_engine/create_new.py +0 -0
  85. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  86. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  87. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/embedder/__init__.py +0 -0
  88. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/embedder/embed_chunk.py +0 -0
  89. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/excel/__init__.py +0 -0
  90. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/excel/plugin.py +0 -0
  91. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/gcs/__init__.py +0 -0
  92. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/gcs/add_file.py +0 -0
  93. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/gcs/download_folder.py +0 -0
  94. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/gcs/download_url.py +0 -0
  95. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/gcs/metadata.py +0 -0
  96. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/genai/__init__.py +0 -0
  97. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/genai/init.py +0 -0
  98. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/genai/process_funcs_cls.py +0 -0
  99. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/genai/safety.py +0 -0
  100. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/invoke/__init__.py +0 -0
  101. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/invoke/direct_vac_func.py +0 -0
  102. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/invoke/invoke_vac_utils.py +0 -0
  103. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/langfuse/__init__.py +0 -0
  104. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/langfuse/callback.py +0 -0
  105. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/langfuse/evals.py +0 -0
  106. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/langfuse/prompts.py +0 -0
  107. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/llamaindex/__init__.py +0 -0
  108. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/llamaindex/get_files.py +0 -0
  109. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/llamaindex/import_files.py +0 -0
  110. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/llamaindex/llamaindex_class.py +0 -0
  111. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/llamaindex/user_history.py +0 -0
  112. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/lookup/__init__.py +0 -0
  113. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/lookup/model_lookup.yaml +0 -0
  114. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/patches/__init__.py +0 -0
  115. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/patches/langchain/__init__.py +0 -0
  116. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/patches/langchain/lancedb.py +0 -0
  117. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/patches/langchain/vertexai.py +0 -0
  118. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/pubsub/__init__.py +0 -0
  119. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/pubsub/process_pubsub.py +0 -0
  120. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/pubsub/pubsub_manager.py +0 -0
  121. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/qna/__init__.py +0 -0
  122. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/qna/parsers.py +0 -0
  123. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/qna/retry.py +0 -0
  124. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/streaming/__init__.py +0 -0
  125. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/streaming/content_buffer.py +0 -0
  126. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/streaming/langserve.py +0 -0
  127. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/streaming/stream_lookup.py +0 -0
  128. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/streaming/streaming.py +0 -0
  129. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/summarise/__init__.py +0 -0
  130. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/summarise/summarise.py +0 -0
  131. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/terraform/__init__.py +0 -0
  132. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/terraform/tfvars_editor.py +0 -0
  133. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/tools/__init__.py +0 -0
  134. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/tools/web_browser.py +0 -0
  135. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/__init__.py +0 -0
  136. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/api_key.py +0 -0
  137. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/big_context.py +0 -0
  138. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/config.py +0 -0
  139. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/config_class.py +0 -0
  140. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/config_schema.py +0 -0
  141. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/gcp.py +0 -0
  142. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/gcp_project.py +0 -0
  143. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/parsers.py +0 -0
  144. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/timedelta.py +0 -0
  145. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/user_ids.py +0 -0
  146. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/utils/version.py +0 -0
  147. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/vertex/__init__.py +0 -0
  148. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/vertex/extensions_call.py +0 -0
  149. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/vertex/extensions_class.py +0 -0
  150. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/vertex/genai_functions.py +0 -0
  151. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/vertex/init.py +0 -0
  152. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/vertex/safety.py +0 -0
  153. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo/vertex/type_dict_to_json.py +0 -0
  154. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo.egg-info/SOURCES.txt +0 -0
  155. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo.egg-info/dependency_links.txt +0 -0
  156. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo.egg-info/entry_points.txt +0 -0
  157. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo.egg-info/requires.txt +0 -0
  158. {sunholo-0.95.3 → sunholo-0.95.4}/sunholo.egg-info/top_level.txt +0 -0
  159. {sunholo-0.95.3 → sunholo-0.95.4}/tests/test_chat_history.py +0 -0
  160. {sunholo-0.95.3 → sunholo-0.95.4}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.95.3
3
+ Version: 0.95.4
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.95.3.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.95.4.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -1,6 +1,6 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
- version = '0.95.3'
3
+ version = '0.95.4'
4
4
 
5
5
  setup(
6
6
  name='sunholo',
@@ -39,17 +39,13 @@ class AsyncTaskRunner:
39
39
  async def _task_wrapper(self, name: str, func: Callable[..., Any], args: Any) -> Any:
40
40
  """Wraps the task function to process its output and handle retries."""
41
41
  async def run_func():
42
- gen = func(*args)
43
- if hasattr(gen, '__aiter__'):
44
- # If it's an async generator, consume it completely
45
- output = ''
46
- async for chunk in gen:
47
- output += chunk
48
- return output
42
+ if asyncio.iscoroutinefunction(func):
43
+ # If the function is async, await it
44
+ return await func(*args)
49
45
  else:
50
- # If it's a coroutine, await the result
51
- return await gen
52
-
46
+ # If the function is sync, run it in a thread to prevent blocking
47
+ return await asyncio.to_thread(func, *args)
48
+
53
49
  if self.retry_enabled:
54
50
  retry_kwargs = {
55
51
  'wait': wait_random_exponential(multiplier=1, max=60),
@@ -65,12 +61,4 @@ class AsyncTaskRunner:
65
61
  return await run_func()
66
62
  except Exception as e:
67
63
  log.error(f"Error in task {name}: {e}\n{traceback.format_exc()}")
68
- raise
69
-
70
- def _log_results(self, results: List[Any]):
71
- """Logs the results of the task executions."""
72
- for result in results:
73
- if isinstance(result, Exception):
74
- log.error(f"Task resulted in an error: {result}")
75
- else:
76
- log.info(f"Task completed successfully: {result}")
64
+ raise
@@ -174,15 +174,11 @@ def print_grounding_response(response):
174
174
  markdown_text += (
175
175
  f"\n**Web Search Queries:** {grounding_metadata.web_search_queries}\n"
176
176
  )
177
- if grounding_metadata.search_entry_point:
178
- markdown_text += f"\n**Search Entry Point:**\n {grounding_metadata.search_entry_point.rendered_content}\n"
179
177
  elif grounding_metadata.retrieval_queries:
180
178
  markdown_text += (
181
179
  f"\n**Retrieval Queries:** {grounding_metadata.retrieval_queries}\n"
182
180
  )
183
181
 
184
- markdown_text += "### Grounding Chunks\n"
185
-
186
182
  for index, grounding_chunk in enumerate(
187
183
  grounding_metadata.grounding_chunks, start=1
188
184
  ):
@@ -190,7 +186,9 @@ def print_grounding_response(response):
190
186
  if not context:
191
187
  print(f"Skipping Grounding Chunk {grounding_chunk}")
192
188
  continue
189
+ markdown_text += "### Grounding Chunks\n"
193
190
 
194
191
  markdown_text += f"{index}. [{context.title}]({context.uri})\n"
195
192
 
196
- return markdown_text
193
+ return {"markdown_text": markdown_text,
194
+ "search_entry_point": grounding_metadata.search_entry_point.rendered_content if grounding_metadata.search_entry_point else ""}
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.95.3
3
+ Version: 0.95.4
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.95.3.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.95.4.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
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
File without changes
File without changes
File without changes
File without changes
File without changes