sunholo 0.71.14__tar.gz → 0.71.15__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 (134) hide show
  1. {sunholo-0.71.14 → sunholo-0.71.15}/PKG-INFO +2 -2
  2. {sunholo-0.71.14 → sunholo-0.71.15}/setup.py +1 -1
  3. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/vertex/__init__.py +1 -0
  4. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/vertex/extensions_class.py +43 -11
  5. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo.egg-info/PKG-INFO +2 -2
  6. {sunholo-0.71.14 → sunholo-0.71.15}/LICENSE.txt +0 -0
  7. {sunholo-0.71.14 → sunholo-0.71.15}/MANIFEST.in +0 -0
  8. {sunholo-0.71.14 → sunholo-0.71.15}/README.md +0 -0
  9. {sunholo-0.71.14 → sunholo-0.71.15}/setup.cfg +0 -0
  10. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/__init__.py +0 -0
  11. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/__init__.py +0 -0
  12. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/chat_history.py +0 -0
  13. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/dispatch_to_qa.py +0 -0
  14. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/fastapi/__init__.py +0 -0
  15. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/fastapi/base.py +0 -0
  16. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/fastapi/qna_routes.py +0 -0
  17. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/flask/__init__.py +0 -0
  18. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/flask/base.py +0 -0
  19. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/flask/qna_routes.py +0 -0
  20. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/flask/vac_routes.py +0 -0
  21. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/langserve.py +0 -0
  22. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/pubsub.py +0 -0
  23. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/route.py +0 -0
  24. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/special_commands.py +0 -0
  25. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/agents/swagger.py +0 -0
  26. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/archive/__init__.py +0 -0
  27. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/archive/archive.py +0 -0
  28. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/auth/__init__.py +0 -0
  29. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/auth/run.py +0 -0
  30. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/bots/__init__.py +0 -0
  31. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/bots/discord.py +0 -0
  32. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/bots/github_webhook.py +0 -0
  33. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/bots/webapp.py +0 -0
  34. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/__init__.py +0 -0
  35. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  36. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/doc_handling.py +0 -0
  37. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/images.py +0 -0
  38. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/loaders.py +0 -0
  39. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/message_data.py +0 -0
  40. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/pdfs.py +0 -0
  41. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/publish.py +0 -0
  42. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/chunker/splitter.py +0 -0
  43. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/__init__.py +0 -0
  44. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/chat_vac.py +0 -0
  45. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/cli.py +0 -0
  46. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/cli_init.py +0 -0
  47. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/configs.py +0 -0
  48. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/deploy.py +0 -0
  49. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/embedder.py +0 -0
  50. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/merge_texts.py +0 -0
  51. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/run_proxy.py +0 -0
  52. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/sun_rich.py +0 -0
  53. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/cli/swagger.py +0 -0
  54. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/components/__init__.py +0 -0
  55. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/components/llm.py +0 -0
  56. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/components/retriever.py +0 -0
  57. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/components/vectorstore.py +0 -0
  58. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/__init__.py +0 -0
  59. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/alloydb.py +0 -0
  60. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/alloydb_client.py +0 -0
  61. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/database.py +0 -0
  62. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/lancedb.py +0 -0
  63. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/sql/sb/create_function.sql +0 -0
  64. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  65. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/sql/sb/create_table.sql +0 -0
  66. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  67. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/sql/sb/return_sources.sql +0 -0
  68. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/sql/sb/setup.sql +0 -0
  69. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/static_dbs.py +0 -0
  70. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/database/uuid.py +0 -0
  71. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/discovery_engine/__init__.py +0 -0
  72. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/discovery_engine/chunker_handler.py +0 -0
  73. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/discovery_engine/create_new.py +0 -0
  74. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  75. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/embedder/__init__.py +0 -0
  76. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/embedder/embed_chunk.py +0 -0
  77. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/gcs/__init__.py +0 -0
  78. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/gcs/add_file.py +0 -0
  79. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/gcs/download_url.py +0 -0
  80. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/gcs/metadata.py +0 -0
  81. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/langfuse/__init__.py +0 -0
  82. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/langfuse/callback.py +0 -0
  83. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/langfuse/prompts.py +0 -0
  84. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/llamaindex/__init__.py +0 -0
  85. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/llamaindex/generate.py +0 -0
  86. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/llamaindex/get_files.py +0 -0
  87. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/llamaindex/import_files.py +0 -0
  88. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/logging.py +0 -0
  89. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/lookup/__init__.py +0 -0
  90. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/lookup/model_lookup.yaml +0 -0
  91. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/patches/__init__.py +0 -0
  92. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/patches/langchain/__init__.py +0 -0
  93. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/patches/langchain/lancedb.py +0 -0
  94. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/patches/langchain/vertexai.py +0 -0
  95. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/pubsub/__init__.py +0 -0
  96. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/pubsub/process_pubsub.py +0 -0
  97. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/pubsub/pubsub_manager.py +0 -0
  98. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/qna/__init__.py +0 -0
  99. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/qna/parsers.py +0 -0
  100. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/qna/retry.py +0 -0
  101. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/streaming/__init__.py +0 -0
  102. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/streaming/content_buffer.py +0 -0
  103. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/streaming/langserve.py +0 -0
  104. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/streaming/stream_lookup.py +0 -0
  105. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/streaming/streaming.py +0 -0
  106. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/summarise/__init__.py +0 -0
  107. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/summarise/summarise.py +0 -0
  108. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/tools/__init__.py +0 -0
  109. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/tools/web_browser.py +0 -0
  110. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/__init__.py +0 -0
  111. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/api_key.py +0 -0
  112. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/big_context.py +0 -0
  113. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/config.py +0 -0
  114. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/config_schema.py +0 -0
  115. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/gcp.py +0 -0
  116. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/gcp_project.py +0 -0
  117. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/parsers.py +0 -0
  118. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/timedelta.py +0 -0
  119. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/user_ids.py +0 -0
  120. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/utils/version.py +0 -0
  121. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/vertex/extensions.py +0 -0
  122. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/vertex/init.py +0 -0
  123. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/vertex/memory_tools.py +0 -0
  124. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo/vertex/safety.py +0 -0
  125. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo.egg-info/SOURCES.txt +0 -0
  126. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo.egg-info/dependency_links.txt +0 -0
  127. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo.egg-info/entry_points.txt +0 -0
  128. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo.egg-info/requires.txt +0 -0
  129. {sunholo-0.71.14 → sunholo-0.71.15}/sunholo.egg-info/top_level.txt +0 -0
  130. {sunholo-0.71.14 → sunholo-0.71.15}/tests/test_chat_history.py +0 -0
  131. {sunholo-0.71.14 → sunholo-0.71.15}/tests/test_chunker.py +0 -0
  132. {sunholo-0.71.14 → sunholo-0.71.15}/tests/test_config.py +0 -0
  133. {sunholo-0.71.14 → sunholo-0.71.15}/tests/test_dispatch_to_qa.py +0 -0
  134. {sunholo-0.71.14 → sunholo-0.71.15}/tests/test_swagger.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.71.14
3
+ Version: 0.71.15
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.71.14.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.71.15.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -1,7 +1,7 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
3
  # Define your base version
4
- version = '0.71.14'
4
+ version = '0.71.15'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -1,3 +1,4 @@
1
1
  from .init import init_vertex, init_genai
2
2
  from .memory_tools import get_vertex_memories, print_grounding_response, get_google_search_grounding
3
3
  from .safety import vertex_safety, genai_safety
4
+ from .extensions_class import VertexAIExtensions
@@ -1,4 +1,8 @@
1
- from vertexai.preview import extensions
1
+ try:
2
+ from vertexai.preview import extensions
3
+ except ImportError:
4
+ extensions = None
5
+
2
6
  from .init import init_vertex
3
7
  from ..logging import log
4
8
  from ..utils.gcp_project import get_gcp_project
@@ -9,6 +13,9 @@ from io import StringIO
9
13
 
10
14
  class VertexAIExtensions:
11
15
  def __init__(self):
16
+ if extensions is None:
17
+ raise ImportError("VertexAIExtensions needs vertexai.previewextensions to be installed. Install via `pip install sunholo[gcp]`")
18
+
12
19
  self.CODE_INTERPRETER_WRITTEN_FILES = []
13
20
  self.css_styles = """
14
21
  <style>
@@ -21,6 +28,20 @@ class VertexAIExtensions:
21
28
  self.IMAGE_FILE_EXTENSIONS = set(["jpg", "jpeg", "png"])
22
29
  self.location = "us-central1"
23
30
 
31
+ def list_extensions(self):
32
+ the_list = extensions.Extension.list()
33
+
34
+ extensions_list = []
35
+ for ext in the_list:
36
+ extensions_list.append({
37
+ "resource_name": getattr(ext, 'resource_name', ''),
38
+ "display_name": getattr(ext, 'display_name', 'N/A'),
39
+ "description": getattr(ext, 'description', 'N/A')
40
+ })
41
+
42
+ return extensions_list
43
+
44
+
24
45
  def get_extension_import_config(self, display_name: str, description: str,
25
46
  api_spec_gcs: dict, service_account_name: dict, tool_use_examples: list):
26
47
  tool_use_examples = [
@@ -118,8 +139,19 @@ class VertexAIExtensions:
118
139
  def execute_code_extension(self, query: str, filenames: list[str] = None, gcs_files: list[str] = None):
119
140
  if filenames and gcs_files:
120
141
  raise ValueError("Can't specify both filenames and gcs_files")
142
+
143
+ listed_extensions = self.list_extensions()
144
+ code_interpreter_exists = False
145
+ for ext in listed_extensions:
146
+ if ext.get('display_name') == 'Code Interpreter':
147
+ code_interpreter_exists = True
148
+ extension_code_interpreter = extensions.Extension(ext['resource_name'])
149
+ break
121
150
 
122
- extension_code_interpreter = extensions.Extension.from_hub("code_interpreter")
151
+ if not code_interpreter_exists:
152
+ extension_code_interpreter = extensions.Extension.from_hub("code_interpreter")
153
+
154
+ operation_params = {"query": query}
123
155
 
124
156
  file_arr = None
125
157
  if filenames:
@@ -130,14 +162,14 @@ class VertexAIExtensions:
130
162
  }
131
163
  for filename in filenames
132
164
  ]
133
-
165
+ operation_params["files"] = file_arr
166
+
167
+ if gcs_files:
168
+ operation_params["file_gcs_uris"] = gcs_files
169
+
134
170
  response = extension_code_interpreter.execute(
135
171
  operation_id="generate_and_execute",
136
- operation_params={
137
- "query": query,
138
- "files": file_arr,
139
- "file_gcs_uris": gcs_files
140
- })
172
+ operation_params=operation_params)
141
173
 
142
174
  self.CODE_INTERPRETER_WRITTEN_FILES.extend(
143
175
  [item['name'] for item in response['output_files']])
@@ -195,7 +227,7 @@ class VertexAIExtensions:
195
227
  buffer_html = [details_tml.format(**_file) for _file in file_list]
196
228
  return "".join(buffer_html)
197
229
 
198
- def process_response(self, response: dict, save_files_locally=None) -> str:
230
+ def process_response(self, response: dict, save_file_name=None) -> str:
199
231
  result_template = """
200
232
  <details open>
201
233
  <summary class='main_summary'>{summary}:</summary>
@@ -234,8 +266,8 @@ class VertexAIExtensions:
234
266
  {result}
235
267
  </div>
236
268
  """
237
- if save_files_locally:
238
- with open('code_execution_results.html', 'w') as file:
269
+ if save_file_name:
270
+ with open(save_file_name or 'code_execution_results.html', 'w') as file:
239
271
  file.write(html_content)
240
272
 
241
273
  return html_content
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.71.14
3
+ Version: 0.71.15
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.71.14.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.71.15.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