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