sunholo 0.99.2__tar.gz → 0.99.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.99.2 → sunholo-0.99.4}/PKG-INFO +2 -2
  2. {sunholo-0.99.2 → sunholo-0.99.4}/setup.py +1 -1
  3. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/genai/process_funcs_cls.py +30 -21
  4. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo.egg-info/PKG-INFO +2 -2
  5. {sunholo-0.99.2 → sunholo-0.99.4}/LICENSE.txt +0 -0
  6. {sunholo-0.99.2 → sunholo-0.99.4}/MANIFEST.in +0 -0
  7. {sunholo-0.99.2 → sunholo-0.99.4}/README.md +0 -0
  8. {sunholo-0.99.2 → sunholo-0.99.4}/setup.cfg +0 -0
  9. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/__init__.py +0 -0
  10. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/__init__.py +0 -0
  11. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/chat_history.py +0 -0
  12. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/dispatch_to_qa.py +0 -0
  13. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/fastapi/__init__.py +0 -0
  14. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/fastapi/base.py +0 -0
  15. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/fastapi/qna_routes.py +0 -0
  16. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/flask/__init__.py +0 -0
  17. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/flask/base.py +0 -0
  18. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/flask/qna_routes.py +0 -0
  19. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/flask/vac_routes.py +0 -0
  20. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/langserve.py +0 -0
  21. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/pubsub.py +0 -0
  22. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/route.py +0 -0
  23. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/special_commands.py +0 -0
  24. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/agents/swagger.py +0 -0
  25. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/archive/__init__.py +0 -0
  26. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/archive/archive.py +0 -0
  27. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/auth/__init__.py +0 -0
  28. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/auth/gcloud.py +0 -0
  29. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/auth/refresh.py +0 -0
  30. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/auth/run.py +0 -0
  31. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/azure/__init__.py +0 -0
  32. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/azure/auth.py +0 -0
  33. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/azure/blobs.py +0 -0
  34. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/azure/event_grid.py +0 -0
  35. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/bots/__init__.py +0 -0
  36. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/bots/discord.py +0 -0
  37. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/bots/github_webhook.py +0 -0
  38. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/bots/webapp.py +0 -0
  39. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/__init__.py +0 -0
  40. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/azure.py +0 -0
  41. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/doc_handling.py +0 -0
  42. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/encode_metadata.py +0 -0
  43. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/images.py +0 -0
  44. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/loaders.py +0 -0
  45. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/message_data.py +0 -0
  46. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/pdfs.py +0 -0
  47. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/process_chunker_data.py +0 -0
  48. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/publish.py +0 -0
  49. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/pubsub.py +0 -0
  50. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/chunker/splitter.py +0 -0
  51. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/__init__.py +0 -0
  52. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/chat_vac.py +0 -0
  53. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/cli.py +0 -0
  54. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/cli_init.py +0 -0
  55. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/configs.py +0 -0
  56. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/deploy.py +0 -0
  57. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/embedder.py +0 -0
  58. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/merge_texts.py +0 -0
  59. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/run_proxy.py +0 -0
  60. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/sun_rich.py +0 -0
  61. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/swagger.py +0 -0
  62. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/cli/vertex.py +0 -0
  63. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/components/__init__.py +0 -0
  64. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/components/llm.py +0 -0
  65. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/components/retriever.py +0 -0
  66. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/components/vectorstore.py +0 -0
  67. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/custom_logging.py +0 -0
  68. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/__init__.py +0 -0
  69. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/alloydb.py +0 -0
  70. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/alloydb_client.py +0 -0
  71. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/database.py +0 -0
  72. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/lancedb.py +0 -0
  73. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/sql/sb/create_function.sql +0 -0
  74. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  75. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/sql/sb/create_table.sql +0 -0
  76. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  77. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/sql/sb/return_sources.sql +0 -0
  78. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/sql/sb/setup.sql +0 -0
  79. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/static_dbs.py +0 -0
  80. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/database/uuid.py +0 -0
  81. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/discovery_engine/__init__.py +0 -0
  82. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/discovery_engine/chunker_handler.py +0 -0
  83. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/discovery_engine/create_new.py +0 -0
  84. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  85. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  86. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/embedder/__init__.py +0 -0
  87. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/embedder/embed_chunk.py +0 -0
  88. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/excel/__init__.py +0 -0
  89. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/excel/plugin.py +0 -0
  90. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/gcs/__init__.py +0 -0
  91. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/gcs/add_file.py +0 -0
  92. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/gcs/download_folder.py +0 -0
  93. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/gcs/download_url.py +0 -0
  94. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/gcs/metadata.py +0 -0
  95. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/genai/__init__.py +0 -0
  96. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/genai/init.py +0 -0
  97. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/genai/safety.py +0 -0
  98. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/invoke/__init__.py +0 -0
  99. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/invoke/async_class.py +0 -0
  100. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/invoke/direct_vac_func.py +0 -0
  101. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/invoke/invoke_vac_utils.py +0 -0
  102. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/langfuse/__init__.py +0 -0
  103. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/langfuse/callback.py +0 -0
  104. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/langfuse/evals.py +0 -0
  105. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/langfuse/prompts.py +0 -0
  106. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/llamaindex/__init__.py +0 -0
  107. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/llamaindex/get_files.py +0 -0
  108. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/llamaindex/import_files.py +0 -0
  109. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/llamaindex/llamaindex_class.py +0 -0
  110. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/llamaindex/user_history.py +0 -0
  111. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/lookup/__init__.py +0 -0
  112. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/lookup/model_lookup.yaml +0 -0
  113. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/patches/__init__.py +0 -0
  114. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/patches/langchain/__init__.py +0 -0
  115. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/patches/langchain/lancedb.py +0 -0
  116. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/patches/langchain/vertexai.py +0 -0
  117. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/pubsub/__init__.py +0 -0
  118. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/pubsub/process_pubsub.py +0 -0
  119. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/pubsub/pubsub_manager.py +0 -0
  120. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/qna/__init__.py +0 -0
  121. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/qna/parsers.py +0 -0
  122. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/qna/retry.py +0 -0
  123. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/streaming/__init__.py +0 -0
  124. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/streaming/content_buffer.py +0 -0
  125. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/streaming/langserve.py +0 -0
  126. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/streaming/stream_lookup.py +0 -0
  127. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/streaming/streaming.py +0 -0
  128. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/summarise/__init__.py +0 -0
  129. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/summarise/summarise.py +0 -0
  130. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/terraform/__init__.py +0 -0
  131. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/terraform/tfvars_editor.py +0 -0
  132. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/tools/__init__.py +0 -0
  133. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/tools/web_browser.py +0 -0
  134. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/__init__.py +0 -0
  135. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/api_key.py +0 -0
  136. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/big_context.py +0 -0
  137. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/config.py +0 -0
  138. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/config_class.py +0 -0
  139. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/config_schema.py +0 -0
  140. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/gcp.py +0 -0
  141. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/gcp_project.py +0 -0
  142. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/parsers.py +0 -0
  143. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/timedelta.py +0 -0
  144. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/user_ids.py +0 -0
  145. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/utils/version.py +0 -0
  146. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/vertex/__init__.py +0 -0
  147. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/vertex/extensions_call.py +0 -0
  148. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/vertex/extensions_class.py +0 -0
  149. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/vertex/genai_functions.py +0 -0
  150. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/vertex/init.py +0 -0
  151. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/vertex/memory_tools.py +0 -0
  152. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/vertex/safety.py +0 -0
  153. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo/vertex/type_dict_to_json.py +0 -0
  154. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo.egg-info/SOURCES.txt +0 -0
  155. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo.egg-info/dependency_links.txt +0 -0
  156. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo.egg-info/entry_points.txt +0 -0
  157. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo.egg-info/requires.txt +0 -0
  158. {sunholo-0.99.2 → sunholo-0.99.4}/sunholo.egg-info/top_level.txt +0 -0
  159. {sunholo-0.99.2 → sunholo-0.99.4}/tests/test_chat_history.py +0 -0
  160. {sunholo-0.99.2 → sunholo-0.99.4}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.99.2
3
+ Version: 0.99.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.99.2.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.99.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.99.2'
3
+ version = '0.99.4'
4
4
 
5
5
  setup(
6
6
  name='sunholo',
@@ -449,31 +449,38 @@ class GenAIFunctionProcessor:
449
449
  token = token_queue.popleft()
450
450
  callback.on_llm_new_token(token=token)
451
451
 
452
- try:
453
- # Convert MapComposite to a standard Python dictionary
454
- if isinstance(fn_result, proto.marshal.collections.maps.MapComposite):
455
- fn_result = dict(fn_result)
456
- fn_result_json = json.loads(fn_result)
457
- if not isinstance(fn_result_json, dict):
458
- log.warning(f"{fn_result} was loaded but is not a dictionary")
459
- fn_result_json = None
460
- except json.JSONDecodeError:
461
- log.warning(f"{fn_result} was not JSON decoded")
462
- fn_result_json = None
463
- except Exception as err:
464
- log.warning(f"{fn_result} was not json decoded due to unknown exception: {str(err)}")
465
- fn_result_json = None
466
-
452
+ log.info(f"{fn_log} created a result={type(fn_result)=}")
453
+
454
+ fn_result_json = None
455
+ # Convert MapComposite to a standard Python dictionary
456
+ if isinstance(fn_result, proto.marshal.collections.maps.MapComposite):
457
+ fn_result_json = dict(fn_result)
458
+ elif isinstance(fn_result, dict):
459
+ fn_result_json = fn_result
460
+ elif isinstance(fn_result, str):
461
+ try:
462
+ if isinstance(fn_result_json, str):
463
+ fn_result_json = json.loads(fn_result_json)
464
+ except json.JSONDecodeError:
465
+ log.warning(f"{fn_result} was not JSON decoded")
466
+ except Exception as err:
467
+ log.warning(f"{fn_result} was not json decoded due to unknown exception: {str(err)} {traceback.format_exc()}")
468
+ else:
469
+ log.warning(f"Unrecognised type for {fn_log}: {type(fn_result)}")
470
+
471
+ # should be a string or a dict by now
472
+ log.info(f"Processed {fn_log} to {fn_result_json=} type: {type(fn_result_json)}")
473
+
467
474
  if fn == "decide_to_go_on":
468
- log.info(f"{fn_result_json} {fn_result=} {type(fn_result)}")
469
- go_on_args = fn_result_json
470
- if go_on_args:
471
- token = f"\n{'STOPPING' if not go_on_args.get('go_on') else 'CONTINUE'}: {go_on_args.get('chat_summary')}\n"
475
+ log.info(f"{fn_result_json=} {type(fn_result)}")
476
+ if fn_result_json:
477
+ token = f"\n{'STOPPING' if not fn_result_json.get('go_on') else 'CONTINUE'}: {fn_result_json.get('chat_summary')}\n"
472
478
  else:
473
479
  log.warning(f"{fn_result_json} did not work for decide_to_go_on")
474
- token = f"Error calling decide_to_go_on with {fn_result_json}\n"
480
+ token = f"Error calling decide_to_go_on with {fn_result=}\n"
475
481
  else:
476
482
  token = f"--- {fn_log} result --- \n"
483
+ # if json dict we look for keys to extract
477
484
  if fn_result_json:
478
485
  if fn_result_json.get('stdout'):
479
486
  text = fn_result_json.get('stdout').encode('utf-8').decode('unicode_escape')
@@ -484,6 +491,7 @@ class GenAIFunctionProcessor:
484
491
  if not fn_result_json.get('stdout') and fn_result_json.get('stderr'):
485
492
  token += f"{fn_result}\n"
486
493
  else:
494
+ # probably a string, just return it
487
495
  token += f"{fn_result}\n--- end ---\n"
488
496
 
489
497
  this_text += token
@@ -546,4 +554,5 @@ class GenAIFunctionProcessor:
546
554
  Returns:
547
555
  boolean: True to carry on, False to continue
548
556
  """
549
- return json.dumps({"go_on": go_on, "chat_summary": chat_summary})
557
+ return {"go_on": go_on, "chat_summary": chat_summary}
558
+
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.99.2
3
+ Version: 0.99.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.99.2.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.99.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