sunholo 0.64.19__tar.gz → 0.66.0__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 (123) hide show
  1. {sunholo-0.64.19 → sunholo-0.66.0}/PKG-INFO +2 -2
  2. {sunholo-0.64.19 → sunholo-0.66.0}/setup.py +1 -1
  3. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/swagger.py +41 -5
  4. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo.egg-info/PKG-INFO +2 -2
  5. {sunholo-0.64.19 → sunholo-0.66.0}/LICENSE.txt +0 -0
  6. {sunholo-0.64.19 → sunholo-0.66.0}/MANIFEST.in +0 -0
  7. {sunholo-0.64.19 → sunholo-0.66.0}/README.md +0 -0
  8. {sunholo-0.64.19 → sunholo-0.66.0}/setup.cfg +0 -0
  9. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/__init__.py +0 -0
  10. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/__init__.py +0 -0
  11. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/chat_history.py +0 -0
  12. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/dispatch_to_qa.py +0 -0
  13. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/fastapi/__init__.py +0 -0
  14. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/fastapi/base.py +0 -0
  15. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
  16. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/flask/__init__.py +0 -0
  17. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/flask/base.py +0 -0
  18. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/flask/qna_routes.py +0 -0
  19. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/langserve.py +0 -0
  20. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/pubsub.py +0 -0
  21. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/route.py +0 -0
  22. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/agents/special_commands.py +0 -0
  23. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/archive/__init__.py +0 -0
  24. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/archive/archive.py +0 -0
  25. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/auth/__init__.py +0 -0
  26. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/auth/run.py +0 -0
  27. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/bots/__init__.py +0 -0
  28. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/bots/discord.py +0 -0
  29. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/bots/github_webhook.py +0 -0
  30. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/bots/webapp.py +0 -0
  31. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/__init__.py +0 -0
  32. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  33. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/doc_handling.py +0 -0
  34. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/images.py +0 -0
  35. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/loaders.py +0 -0
  36. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/message_data.py +0 -0
  37. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/pdfs.py +0 -0
  38. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/publish.py +0 -0
  39. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/chunker/splitter.py +0 -0
  40. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/__init__.py +0 -0
  41. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/chat_vac.py +0 -0
  42. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/cli.py +0 -0
  43. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/cli_init.py +0 -0
  44. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/configs.py +0 -0
  45. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/deploy.py +0 -0
  46. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/embedder.py +0 -0
  47. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/merge_texts.py +0 -0
  48. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/run_proxy.py +0 -0
  49. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/sun_rich.py +0 -0
  50. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/cli/swagger.py +0 -0
  51. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/components/__init__.py +0 -0
  52. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/components/llm.py +0 -0
  53. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/components/retriever.py +0 -0
  54. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/components/vectorstore.py +0 -0
  55. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/__init__.py +0 -0
  56. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/alloydb.py +0 -0
  57. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/database.py +0 -0
  58. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/lancedb.py +0 -0
  59. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/sql/sb/create_function.sql +0 -0
  60. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  61. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/sql/sb/create_table.sql +0 -0
  62. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  63. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
  64. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/sql/sb/setup.sql +0 -0
  65. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/static_dbs.py +0 -0
  66. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/database/uuid.py +0 -0
  67. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/embedder/__init__.py +0 -0
  68. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/embedder/embed_chunk.py +0 -0
  69. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/gcs/__init__.py +0 -0
  70. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/gcs/add_file.py +0 -0
  71. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/gcs/download_url.py +0 -0
  72. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/gcs/metadata.py +0 -0
  73. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/langfuse/__init__.py +0 -0
  74. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/langfuse/callback.py +0 -0
  75. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/langfuse/prompts.py +0 -0
  76. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/llamaindex/__init__.py +0 -0
  77. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/llamaindex/generate.py +0 -0
  78. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/llamaindex/get_files.py +0 -0
  79. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/llamaindex/import_files.py +0 -0
  80. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/logging.py +0 -0
  81. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/lookup/__init__.py +0 -0
  82. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/lookup/model_lookup.yaml +0 -0
  83. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/patches/__init__.py +0 -0
  84. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/patches/langchain/__init__.py +0 -0
  85. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/patches/langchain/lancedb.py +0 -0
  86. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/patches/langchain/vertexai.py +0 -0
  87. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/pubsub/__init__.py +0 -0
  88. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/pubsub/process_pubsub.py +0 -0
  89. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/pubsub/pubsub_manager.py +0 -0
  90. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/qna/__init__.py +0 -0
  91. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/qna/parsers.py +0 -0
  92. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/qna/retry.py +0 -0
  93. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/streaming/__init__.py +0 -0
  94. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/streaming/content_buffer.py +0 -0
  95. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/streaming/langserve.py +0 -0
  96. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/streaming/stream_lookup.py +0 -0
  97. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/streaming/streaming.py +0 -0
  98. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/summarise/__init__.py +0 -0
  99. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/summarise/summarise.py +0 -0
  100. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/__init__.py +0 -0
  101. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/big_context.py +0 -0
  102. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/config.py +0 -0
  103. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/config_schema.py +0 -0
  104. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/gcp.py +0 -0
  105. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/gcp_project.py +0 -0
  106. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/parsers.py +0 -0
  107. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/timedelta.py +0 -0
  108. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/user_ids.py +0 -0
  109. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/utils/version.py +0 -0
  110. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/vertex/__init__.py +0 -0
  111. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/vertex/init.py +0 -0
  112. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/vertex/memory_tools.py +0 -0
  113. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo/vertex/safety.py +0 -0
  114. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo.egg-info/SOURCES.txt +0 -0
  115. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo.egg-info/dependency_links.txt +0 -0
  116. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo.egg-info/entry_points.txt +0 -0
  117. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo.egg-info/requires.txt +0 -0
  118. {sunholo-0.64.19 → sunholo-0.66.0}/sunholo.egg-info/top_level.txt +0 -0
  119. {sunholo-0.64.19 → sunholo-0.66.0}/tests/test_chat_history.py +0 -0
  120. {sunholo-0.64.19 → sunholo-0.66.0}/tests/test_chunker.py +0 -0
  121. {sunholo-0.64.19 → sunholo-0.66.0}/tests/test_config.py +0 -0
  122. {sunholo-0.64.19 → sunholo-0.66.0}/tests/test_dispatch_to_qa.py +0 -0
  123. {sunholo-0.64.19 → sunholo-0.66.0}/tests/test_swagger.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.64.19
3
+ Version: 0.66.0
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.64.19.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.66.0.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.64.19'
4
+ version = '0.66.0'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -158,9 +158,24 @@ def generate_swagger(vac_config, agent_config):
158
158
  log.warning(f"Failed to find URL stem for {vector_name}/{agent_type} - using {stem} instead")
159
159
 
160
160
  for method, endpoints in agent_config_paths.items():
161
- if method not in ['get', 'post']:
162
- log.warning(f"Skipping {endpoints}")
161
+ # controls if get requests are protected or not
162
+ do_auth = True
163
+
164
+ # default get: noauth, post: auth
165
+ if method not in ['get', 'post', 'get-auth', 'post-noauth']:
163
166
  continue
167
+
168
+ if method == 'get-auth':
169
+ do_auth = True
170
+ method = 'get'
171
+ elif method == 'post-noauth':
172
+ do_auth = False
173
+ method = 'post'
174
+ elif method == 'get':
175
+ do_auth = False
176
+ elif method == 'post':
177
+ do_auth = True # not needed but to be clear whats happening
178
+
164
179
  for endpoint_key, endpoint_template in endpoints.items():
165
180
  endpoint_template = endpoint_template.strip()
166
181
  endpoint_address = endpoint_template.replace("{stem}", stem).replace("{vector_name}", vector_name).strip()
@@ -173,6 +188,8 @@ def generate_swagger(vac_config, agent_config):
173
188
 
174
189
  operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
175
190
 
191
+ security = [{'ApiKeyAuth': []}] if do_auth else [{'None': []}]
192
+
176
193
  swagger_template['paths'][endpoint_path][method] = {
177
194
  'summary': f"{method.capitalize()} {vector_name}",
178
195
  'operationId': operation_id,
@@ -180,7 +197,7 @@ def generate_swagger(vac_config, agent_config):
180
197
  'address': endpoint_address,
181
198
  'protocol': 'h2'
182
199
  },
183
- 'security': [{'ApiKeyAuth': []}] if method == 'post' else [{'None': []}],
200
+ 'security': security,
184
201
  'responses': copy.deepcopy(agent_config_paths.get('response', {}).get(endpoint_key, {
185
202
  '200': {
186
203
  'description': 'Default - A successful response',
@@ -204,9 +221,26 @@ def generate_swagger(vac_config, agent_config):
204
221
  stem = f"${{{agent_type.upper()}_BACKEND_URL}}"
205
222
  log.warning(f"Failed to find URL stem for {vector_name}/{agent_type} - using {stem} instead")
206
223
 
224
+
207
225
  for method, endpoints in default_agent_config.items():
208
- if method not in ['get', 'post']:
226
+ # controls if get requests are protected or not
227
+ do_auth = True
228
+
229
+ # default get: noauth, post: auth
230
+ if method not in ['get', 'post', 'get-auth', 'post-noauth']:
209
231
  continue
232
+
233
+ if method == 'get-auth':
234
+ do_auth = True
235
+ method = 'get'
236
+ elif method == 'post-noauth':
237
+ do_auth = False
238
+ method = 'post'
239
+ elif method == 'get':
240
+ do_auth = False
241
+ elif method == 'post':
242
+ do_auth = True # not needed but to be clear whats happening
243
+
210
244
  for endpoint_key, endpoint_template in endpoints.items():
211
245
  endpoint_template = endpoint_template.strip()
212
246
  endpoint_address = endpoint_template.replace("{stem}", stem).replace("{vector_name}", vector_name).strip()
@@ -218,6 +252,8 @@ def generate_swagger(vac_config, agent_config):
218
252
  swagger_template['paths'][endpoint_path] = {}
219
253
 
220
254
  operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
255
+
256
+ security = [{'ApiKeyAuth': []}] if do_auth else [{'None': []}]
221
257
 
222
258
  swagger_template['paths'][endpoint_path][method] = {
223
259
  'summary': f"{method.capitalize()} {agent_type}",
@@ -226,7 +262,7 @@ def generate_swagger(vac_config, agent_config):
226
262
  'address': endpoint_address,
227
263
  'protocol': 'h2'
228
264
  },
229
- 'security': [{'ApiKeyAuth': []}] if method == 'post' else [{'None': []}],
265
+ 'security': security,
230
266
  'responses': copy.deepcopy(default_agent_config.get('response', {}).get(endpoint_key, {
231
267
  '200': {
232
268
  'description': 'Default - A successful response',
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.64.19
3
+ Version: 0.66.0
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.64.19.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.66.0.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