sunholo 0.101.7__tar.gz → 0.101.8__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 (165) hide show
  1. {sunholo-0.101.7 → sunholo-0.101.8}/PKG-INFO +2 -2
  2. {sunholo-0.101.7 → sunholo-0.101.8}/setup.py +1 -1
  3. sunholo-0.101.8/sunholo/genai/images.py +48 -0
  4. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo.egg-info/PKG-INFO +2 -2
  5. sunholo-0.101.7/sunholo/genai/images.py +0 -38
  6. {sunholo-0.101.7 → sunholo-0.101.8}/LICENSE.txt +0 -0
  7. {sunholo-0.101.7 → sunholo-0.101.8}/MANIFEST.in +0 -0
  8. {sunholo-0.101.7 → sunholo-0.101.8}/README.md +0 -0
  9. {sunholo-0.101.7 → sunholo-0.101.8}/setup.cfg +0 -0
  10. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/__init__.py +0 -0
  11. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/__init__.py +0 -0
  12. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/chat_history.py +0 -0
  13. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/dispatch_to_qa.py +0 -0
  14. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/fastapi/__init__.py +0 -0
  15. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/fastapi/base.py +0 -0
  16. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/fastapi/qna_routes.py +0 -0
  17. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/flask/__init__.py +0 -0
  18. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/flask/base.py +0 -0
  19. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/flask/qna_routes.py +0 -0
  20. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/flask/vac_routes.py +0 -0
  21. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/langserve.py +0 -0
  22. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/pubsub.py +0 -0
  23. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/route.py +0 -0
  24. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/special_commands.py +0 -0
  25. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/agents/swagger.py +0 -0
  26. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/archive/__init__.py +0 -0
  27. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/archive/archive.py +0 -0
  28. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/auth/__init__.py +0 -0
  29. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/auth/gcloud.py +0 -0
  30. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/auth/refresh.py +0 -0
  31. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/auth/run.py +0 -0
  32. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/azure/__init__.py +0 -0
  33. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/azure/auth.py +0 -0
  34. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/azure/blobs.py +0 -0
  35. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/azure/event_grid.py +0 -0
  36. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/bots/__init__.py +0 -0
  37. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/bots/discord.py +0 -0
  38. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/bots/github_webhook.py +0 -0
  39. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/bots/webapp.py +0 -0
  40. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/__init__.py +0 -0
  41. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/azure.py +0 -0
  42. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/doc_handling.py +0 -0
  43. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/encode_metadata.py +0 -0
  44. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/images.py +0 -0
  45. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/loaders.py +0 -0
  46. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/message_data.py +0 -0
  47. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/pdfs.py +0 -0
  48. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/process_chunker_data.py +0 -0
  49. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/publish.py +0 -0
  50. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/pubsub.py +0 -0
  51. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/chunker/splitter.py +0 -0
  52. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/__init__.py +0 -0
  53. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/chat_vac.py +0 -0
  54. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/cli.py +0 -0
  55. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/cli_init.py +0 -0
  56. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/configs.py +0 -0
  57. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/deploy.py +0 -0
  58. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/embedder.py +0 -0
  59. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/merge_texts.py +0 -0
  60. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/run_proxy.py +0 -0
  61. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/sun_rich.py +0 -0
  62. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/swagger.py +0 -0
  63. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/cli/vertex.py +0 -0
  64. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/components/__init__.py +0 -0
  65. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/components/llm.py +0 -0
  66. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/components/retriever.py +0 -0
  67. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/components/vectorstore.py +0 -0
  68. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/custom_logging.py +0 -0
  69. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/__init__.py +0 -0
  70. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/alloydb.py +0 -0
  71. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/alloydb_client.py +0 -0
  72. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/database.py +0 -0
  73. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/lancedb.py +0 -0
  74. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/sql/sb/create_function.sql +0 -0
  75. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  76. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/sql/sb/create_table.sql +0 -0
  77. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  78. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/sql/sb/return_sources.sql +0 -0
  79. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/sql/sb/setup.sql +0 -0
  80. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/static_dbs.py +0 -0
  81. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/database/uuid.py +0 -0
  82. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/discovery_engine/__init__.py +0 -0
  83. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/discovery_engine/chunker_handler.py +0 -0
  84. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/discovery_engine/create_new.py +0 -0
  85. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  86. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  87. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/embedder/__init__.py +0 -0
  88. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/embedder/embed_chunk.py +0 -0
  89. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/excel/__init__.py +0 -0
  90. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/excel/plugin.py +0 -0
  91. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/gcs/__init__.py +0 -0
  92. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/gcs/add_file.py +0 -0
  93. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/gcs/download_folder.py +0 -0
  94. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/gcs/download_url.py +0 -0
  95. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/gcs/extract_and_sign.py +0 -0
  96. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/gcs/metadata.py +0 -0
  97. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/genai/__init__.py +0 -0
  98. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/genai/init.py +0 -0
  99. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/genai/process_funcs_cls.py +0 -0
  100. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/genai/safety.py +0 -0
  101. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/invoke/__init__.py +0 -0
  102. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/invoke/async_class.py +0 -0
  103. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/invoke/direct_vac_func.py +0 -0
  104. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/invoke/invoke_vac_utils.py +0 -0
  105. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/langfuse/__init__.py +0 -0
  106. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/langfuse/callback.py +0 -0
  107. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/langfuse/evals.py +0 -0
  108. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/langfuse/prompts.py +0 -0
  109. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/llamaindex/__init__.py +0 -0
  110. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/llamaindex/get_files.py +0 -0
  111. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/llamaindex/import_files.py +0 -0
  112. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/llamaindex/llamaindex_class.py +0 -0
  113. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/llamaindex/user_history.py +0 -0
  114. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/lookup/__init__.py +0 -0
  115. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/lookup/model_lookup.yaml +0 -0
  116. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/patches/__init__.py +0 -0
  117. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/patches/langchain/__init__.py +0 -0
  118. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/patches/langchain/lancedb.py +0 -0
  119. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/patches/langchain/vertexai.py +0 -0
  120. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/pubsub/__init__.py +0 -0
  121. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/pubsub/process_pubsub.py +0 -0
  122. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/pubsub/pubsub_manager.py +0 -0
  123. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/qna/__init__.py +0 -0
  124. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/qna/parsers.py +0 -0
  125. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/qna/retry.py +0 -0
  126. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/streaming/__init__.py +0 -0
  127. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/streaming/content_buffer.py +0 -0
  128. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/streaming/langserve.py +0 -0
  129. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/streaming/stream_lookup.py +0 -0
  130. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/streaming/streaming.py +0 -0
  131. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/summarise/__init__.py +0 -0
  132. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/summarise/summarise.py +0 -0
  133. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/terraform/__init__.py +0 -0
  134. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/terraform/tfvars_editor.py +0 -0
  135. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/tools/__init__.py +0 -0
  136. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/tools/web_browser.py +0 -0
  137. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/__init__.py +0 -0
  138. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/api_key.py +0 -0
  139. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/big_context.py +0 -0
  140. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/config.py +0 -0
  141. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/config_class.py +0 -0
  142. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/config_schema.py +0 -0
  143. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/gcp.py +0 -0
  144. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/gcp_project.py +0 -0
  145. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/mime.py +0 -0
  146. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/parsers.py +0 -0
  147. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/timedelta.py +0 -0
  148. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/user_ids.py +0 -0
  149. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/utils/version.py +0 -0
  150. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/vertex/__init__.py +0 -0
  151. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/vertex/extensions_call.py +0 -0
  152. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/vertex/extensions_class.py +0 -0
  153. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/vertex/genai_functions.py +0 -0
  154. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/vertex/init.py +0 -0
  155. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/vertex/memory_tools.py +0 -0
  156. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/vertex/safety.py +0 -0
  157. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo/vertex/type_dict_to_json.py +0 -0
  158. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo.egg-info/SOURCES.txt +0 -0
  159. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo.egg-info/dependency_links.txt +0 -0
  160. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo.egg-info/entry_points.txt +0 -0
  161. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo.egg-info/requires.txt +0 -0
  162. {sunholo-0.101.7 → sunholo-0.101.8}/sunholo.egg-info/top_level.txt +0 -0
  163. {sunholo-0.101.7 → sunholo-0.101.8}/tests/test_async.py +0 -0
  164. {sunholo-0.101.7 → sunholo-0.101.8}/tests/test_chat_history.py +0 -0
  165. {sunholo-0.101.7 → sunholo-0.101.8}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.101.7
3
+ Version: 0.101.8
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.101.7.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.101.8.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.101.7'
3
+ version = '0.101.8'
4
4
 
5
5
  setup(
6
6
  name='sunholo',
@@ -0,0 +1,48 @@
1
+ import re
2
+ from ..utils.mime import guess_mime_type
3
+ from ..gcs import get_bytes_from_gcs
4
+ from ..custom_logging import log
5
+ import os
6
+ import tempfile
7
+ try:
8
+ import google.generativeai as genai
9
+ except ImportError:
10
+ genai = None
11
+
12
+ def extract_gs_images_and_genai_upload(content: str):
13
+ # Regular expression to find gs:// URLs
14
+ pattern = r'gs://[^ ]+\.(?:png|jpg|jpeg|pdf)'
15
+
16
+ gs_matches = re.findall(pattern, content)
17
+ unique_gs_matches = set(gs_matches)
18
+ output_gs_images = []
19
+
20
+ for gs_uri in unique_gs_matches:
21
+ mime_type = guess_mime_type(gs_uri)
22
+ if mime_type is None:
23
+ continue
24
+
25
+ log.info(f"Getting bytes from GCS: {gs_uri}")
26
+ image_bytes = get_bytes_from_gcs(gs_uri)
27
+ if image_bytes is None:
28
+ continue
29
+
30
+ # Get the basename from the gs_uri to use as the file name
31
+ file_name = os.path.basename(gs_uri)
32
+
33
+ # Create a temporary directory and write the file with the basename
34
+ with tempfile.TemporaryDirectory() as temp_dir:
35
+ temp_file_path = os.path.join(temp_dir, file_name)
36
+
37
+ # Write the BytesIO object to the file
38
+ with open(temp_file_path, 'wb') as temp_file:
39
+ temp_file.write(image_bytes)
40
+
41
+ # Pass the temporary file's path to the upload function
42
+ try:
43
+ uploaded_file = genai.upload_file(temp_file_path)
44
+ output_gs_images.append(uploaded_file)
45
+ except Exception as e:
46
+ log.error(f"Error adding {gs_uri} to base64: {str(e)}")
47
+
48
+ return output_gs_images
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.101.7
3
+ Version: 0.101.8
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.101.7.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.101.8.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -1,38 +0,0 @@
1
- import re
2
- from ..utils.mime import guess_mime_type
3
- from ..gcs import get_bytes_from_gcs
4
- from ..custom_logging import log
5
- import io
6
- import os
7
- try:
8
- import google.generativeai as genai
9
- except ImportError:
10
- genai = None
11
-
12
- def extract_gs_images_and_genai_upload(content:str):
13
- # Regular expression to find gs:// URLs
14
- pattern = r'gs://[^ ]+\.(?:png|jpg|jpeg|pdf)'
15
-
16
- gs_matches = re.findall(pattern, content)
17
- unique_gs_matches = set(gs_matches)
18
- output_gs_images = []
19
- for gs_uri in unique_gs_matches:
20
- mime_type = guess_mime_type(gs_uri)
21
- if mime_type is None:
22
- continue
23
-
24
- log.info(f"Getting bytes from GCS: {gs_uri}")
25
- image_bytes = get_bytes_from_gcs(gs_uri)
26
- if image_bytes is None:
27
- continue
28
- image_file = io.BytesIO(image_bytes)
29
- image_file.name = os.path.basename(gs_uri) # Assign a name, as some APIs require it
30
-
31
- try:
32
- uploaded_file = genai.upload_file(image_file)
33
- output_gs_images.append(uploaded_file)
34
-
35
- except Exception as e:
36
- log.error(f"Error adding {gs_uri} to base64: {str(e)}")
37
-
38
- return output_gs_images
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes