sunholo 0.64.17__tar.gz → 0.64.19__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.17 → sunholo-0.64.19}/PKG-INFO +2 -2
  2. {sunholo-0.64.17 → sunholo-0.64.19}/setup.py +1 -1
  3. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/swagger.py +25 -3
  4. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/config.py +2 -1
  5. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo.egg-info/PKG-INFO +2 -2
  6. {sunholo-0.64.17 → sunholo-0.64.19}/LICENSE.txt +0 -0
  7. {sunholo-0.64.17 → sunholo-0.64.19}/MANIFEST.in +0 -0
  8. {sunholo-0.64.17 → sunholo-0.64.19}/README.md +0 -0
  9. {sunholo-0.64.17 → sunholo-0.64.19}/setup.cfg +0 -0
  10. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/__init__.py +0 -0
  11. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/__init__.py +0 -0
  12. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/chat_history.py +0 -0
  13. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/dispatch_to_qa.py +0 -0
  14. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/fastapi/__init__.py +0 -0
  15. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/fastapi/base.py +0 -0
  16. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/fastapi/qna_routes.py +0 -0
  17. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/flask/__init__.py +0 -0
  18. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/flask/base.py +0 -0
  19. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/flask/qna_routes.py +0 -0
  20. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/langserve.py +0 -0
  21. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/pubsub.py +0 -0
  22. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/route.py +0 -0
  23. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/agents/special_commands.py +0 -0
  24. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/archive/__init__.py +0 -0
  25. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/archive/archive.py +0 -0
  26. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/auth/__init__.py +0 -0
  27. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/auth/run.py +0 -0
  28. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/bots/__init__.py +0 -0
  29. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/bots/discord.py +0 -0
  30. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/bots/github_webhook.py +0 -0
  31. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/bots/webapp.py +0 -0
  32. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/__init__.py +0 -0
  33. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  34. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/doc_handling.py +0 -0
  35. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/images.py +0 -0
  36. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/loaders.py +0 -0
  37. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/message_data.py +0 -0
  38. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/pdfs.py +0 -0
  39. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/publish.py +0 -0
  40. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/chunker/splitter.py +0 -0
  41. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/__init__.py +0 -0
  42. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/chat_vac.py +0 -0
  43. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/cli.py +0 -0
  44. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/cli_init.py +0 -0
  45. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/configs.py +0 -0
  46. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/deploy.py +0 -0
  47. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/embedder.py +0 -0
  48. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/merge_texts.py +0 -0
  49. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/run_proxy.py +0 -0
  50. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/sun_rich.py +0 -0
  51. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/cli/swagger.py +0 -0
  52. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/components/__init__.py +0 -0
  53. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/components/llm.py +0 -0
  54. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/components/retriever.py +0 -0
  55. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/components/vectorstore.py +0 -0
  56. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/__init__.py +0 -0
  57. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/alloydb.py +0 -0
  58. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/database.py +0 -0
  59. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/lancedb.py +0 -0
  60. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/sql/sb/create_function.sql +0 -0
  61. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  62. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/sql/sb/create_table.sql +0 -0
  63. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  64. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/sql/sb/return_sources.sql +0 -0
  65. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/sql/sb/setup.sql +0 -0
  66. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/static_dbs.py +0 -0
  67. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/database/uuid.py +0 -0
  68. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/embedder/__init__.py +0 -0
  69. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/embedder/embed_chunk.py +0 -0
  70. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/gcs/__init__.py +0 -0
  71. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/gcs/add_file.py +0 -0
  72. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/gcs/download_url.py +0 -0
  73. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/gcs/metadata.py +0 -0
  74. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/langfuse/__init__.py +0 -0
  75. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/langfuse/callback.py +0 -0
  76. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/langfuse/prompts.py +0 -0
  77. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/llamaindex/__init__.py +0 -0
  78. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/llamaindex/generate.py +0 -0
  79. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/llamaindex/get_files.py +0 -0
  80. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/llamaindex/import_files.py +0 -0
  81. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/logging.py +0 -0
  82. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/lookup/__init__.py +0 -0
  83. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/lookup/model_lookup.yaml +0 -0
  84. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/patches/__init__.py +0 -0
  85. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/patches/langchain/__init__.py +0 -0
  86. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/patches/langchain/lancedb.py +0 -0
  87. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/patches/langchain/vertexai.py +0 -0
  88. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/pubsub/__init__.py +0 -0
  89. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/pubsub/process_pubsub.py +0 -0
  90. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/pubsub/pubsub_manager.py +0 -0
  91. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/qna/__init__.py +0 -0
  92. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/qna/parsers.py +0 -0
  93. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/qna/retry.py +0 -0
  94. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/streaming/__init__.py +0 -0
  95. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/streaming/content_buffer.py +0 -0
  96. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/streaming/langserve.py +0 -0
  97. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/streaming/stream_lookup.py +0 -0
  98. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/streaming/streaming.py +0 -0
  99. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/summarise/__init__.py +0 -0
  100. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/summarise/summarise.py +0 -0
  101. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/__init__.py +0 -0
  102. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/big_context.py +0 -0
  103. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/config_schema.py +0 -0
  104. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/gcp.py +0 -0
  105. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/gcp_project.py +0 -0
  106. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/parsers.py +0 -0
  107. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/timedelta.py +0 -0
  108. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/user_ids.py +0 -0
  109. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/utils/version.py +0 -0
  110. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/vertex/__init__.py +0 -0
  111. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/vertex/init.py +0 -0
  112. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/vertex/memory_tools.py +0 -0
  113. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo/vertex/safety.py +0 -0
  114. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo.egg-info/SOURCES.txt +0 -0
  115. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo.egg-info/dependency_links.txt +0 -0
  116. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo.egg-info/entry_points.txt +0 -0
  117. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo.egg-info/requires.txt +0 -0
  118. {sunholo-0.64.17 → sunholo-0.64.19}/sunholo.egg-info/top_level.txt +0 -0
  119. {sunholo-0.64.17 → sunholo-0.64.19}/tests/test_chat_history.py +0 -0
  120. {sunholo-0.64.17 → sunholo-0.64.19}/tests/test_chunker.py +0 -0
  121. {sunholo-0.64.17 → sunholo-0.64.19}/tests/test_config.py +0 -0
  122. {sunholo-0.64.17 → sunholo-0.64.19}/tests/test_dispatch_to_qa.py +0 -0
  123. {sunholo-0.64.17 → sunholo-0.64.19}/tests/test_swagger.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.64.17
3
+ Version: 0.64.19
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.17.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.64.19.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.17'
4
+ version = '0.64.19'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -4,6 +4,8 @@ from .route import route_vac
4
4
  from ..logging import log
5
5
  from ruamel.yaml import YAML
6
6
  from io import StringIO
7
+ # check it here:
8
+ # https://editor.swagger.io/
7
9
 
8
10
  def config_to_swagger():
9
11
  """
@@ -128,7 +130,19 @@ def generate_swagger(vac_config, agent_config):
128
130
  'host': '${_ENDPOINTS_HOST}',
129
131
  'schemes': ['https'],
130
132
  'produces': ['application/json'],
131
- 'paths': {}
133
+ 'paths': {},
134
+ 'securityDefinitions': {
135
+ 'ApiKeyAuth': { # For private VAC endpoint
136
+ 'type': 'apiKey',
137
+ 'name': 'x-api-key', # Custom header name for API key
138
+ 'in': 'header'
139
+ },
140
+ 'None': { # For public documentation
141
+ 'type': 'apiKey',
142
+ 'name': 'allow', # Dummy parameter for public access
143
+ 'in': 'query' # Use query parameter to avoid interfering with other headers
144
+ }
145
+ }
132
146
  }
133
147
 
134
148
  vac_services = vac_config['vac']
@@ -156,13 +170,17 @@ def generate_swagger(vac_config, agent_config):
156
170
  log.debug(f"endpoint_path: {endpoint_path}")
157
171
  if endpoint_path not in swagger_template['paths']:
158
172
  swagger_template['paths'][endpoint_path] = {}
173
+
174
+ operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
175
+
159
176
  swagger_template['paths'][endpoint_path][method] = {
160
177
  'summary': f"{method.capitalize()} {vector_name}",
161
- 'operationId': f"{method}_{agent_type}_{endpoint_key}",
178
+ 'operationId': operation_id,
162
179
  'x-google-backend': {
163
180
  'address': endpoint_address,
164
181
  'protocol': 'h2'
165
182
  },
183
+ 'security': [{'ApiKeyAuth': []}] if method == 'post' else [{'None': []}],
166
184
  'responses': copy.deepcopy(agent_config_paths.get('response', {}).get(endpoint_key, {
167
185
  '200': {
168
186
  'description': 'Default - A successful response',
@@ -198,13 +216,17 @@ def generate_swagger(vac_config, agent_config):
198
216
  log.debug(f"default endpoint_path: {endpoint_path}")
199
217
  if endpoint_path not in swagger_template['paths']:
200
218
  swagger_template['paths'][endpoint_path] = {}
219
+
220
+ operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
221
+
201
222
  swagger_template['paths'][endpoint_path][method] = {
202
223
  'summary': f"{method.capitalize()} {agent_type}",
203
- 'operationId': f"{method}_{agent_type}_{endpoint_key}",
224
+ 'operationId': operation_id,
204
225
  'x-google-backend': {
205
226
  'address': endpoint_address,
206
227
  'protocol': 'h2'
207
228
  },
229
+ 'security': [{'ApiKeyAuth': []}] if method == 'post' else [{'None': []}],
208
230
  'responses': copy.deepcopy(default_agent_config.get('response', {}).get(endpoint_key, {
209
231
  '200': {
210
232
  'description': 'Default - A successful response',
@@ -82,7 +82,6 @@ def load_all_configs():
82
82
  cached_config, cache_time = config_cache[filename]
83
83
  time_to_recache = (current_time - cache_time)
84
84
  if time_to_recache < timedelta(minutes=5):
85
- log.debug(f"Returning cached config for {filename} - recache in {format_timedelta(timedelta(minutes=5) - time_to_recache)}")
86
85
  config = cached_config
87
86
  else:
88
87
  config = reload_config_file(config_file, filename)
@@ -94,6 +93,8 @@ def load_all_configs():
94
93
  configs_by_kind[kind] = config
95
94
  else:
96
95
  log.warning(f"No 'kind' found in {filename}")
96
+
97
+ #log.debug(f"Config recache in {format_timedelta(timedelta(minutes=5) - time_to_recache)}")
97
98
 
98
99
  return configs_by_kind
99
100
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.64.17
3
+ Version: 0.64.19
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.17.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.64.19.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