sunholo 0.81.3__tar.gz → 0.81.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 (150) hide show
  1. {sunholo-0.81.3 → sunholo-0.81.4}/PKG-INFO +2 -2
  2. {sunholo-0.81.3 → sunholo-0.81.4}/setup.py +1 -1
  3. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/config_class.py +22 -1
  4. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo.egg-info/PKG-INFO +2 -2
  5. {sunholo-0.81.3 → sunholo-0.81.4}/LICENSE.txt +0 -0
  6. {sunholo-0.81.3 → sunholo-0.81.4}/MANIFEST.in +0 -0
  7. {sunholo-0.81.3 → sunholo-0.81.4}/README.md +0 -0
  8. {sunholo-0.81.3 → sunholo-0.81.4}/setup.cfg +0 -0
  9. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/__init__.py +0 -0
  10. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/__init__.py +0 -0
  11. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/chat_history.py +0 -0
  12. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/dispatch_to_qa.py +0 -0
  13. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/fastapi/__init__.py +0 -0
  14. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/fastapi/base.py +0 -0
  15. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/fastapi/qna_routes.py +0 -0
  16. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/flask/__init__.py +0 -0
  17. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/flask/base.py +0 -0
  18. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/flask/qna_routes.py +0 -0
  19. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/flask/vac_routes.py +0 -0
  20. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/langserve.py +0 -0
  21. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/pubsub.py +0 -0
  22. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/route.py +0 -0
  23. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/special_commands.py +0 -0
  24. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/agents/swagger.py +0 -0
  25. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/archive/__init__.py +0 -0
  26. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/archive/archive.py +0 -0
  27. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/auth/__init__.py +0 -0
  28. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/auth/gcloud.py +0 -0
  29. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/auth/refresh.py +0 -0
  30. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/auth/run.py +0 -0
  31. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/azure/__init__.py +0 -0
  32. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/azure/auth.py +0 -0
  33. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/azure/blobs.py +0 -0
  34. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/azure/event_grid.py +0 -0
  35. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/bots/__init__.py +0 -0
  36. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/bots/discord.py +0 -0
  37. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/bots/github_webhook.py +0 -0
  38. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/bots/webapp.py +0 -0
  39. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/__init__.py +0 -0
  40. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/azure.py +0 -0
  41. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/doc_handling.py +0 -0
  42. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/encode_metadata.py +0 -0
  43. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/images.py +0 -0
  44. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/loaders.py +0 -0
  45. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/message_data.py +0 -0
  46. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/pdfs.py +0 -0
  47. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/process_chunker_data.py +0 -0
  48. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/publish.py +0 -0
  49. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/pubsub.py +0 -0
  50. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/chunker/splitter.py +0 -0
  51. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/__init__.py +0 -0
  52. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/chat_vac.py +0 -0
  53. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/cli.py +0 -0
  54. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/cli_init.py +0 -0
  55. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/configs.py +0 -0
  56. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/deploy.py +0 -0
  57. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/embedder.py +0 -0
  58. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/merge_texts.py +0 -0
  59. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/run_proxy.py +0 -0
  60. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/sun_rich.py +0 -0
  61. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/swagger.py +0 -0
  62. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/cli/vertex.py +0 -0
  63. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/components/__init__.py +0 -0
  64. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/components/llm.py +0 -0
  65. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/components/retriever.py +0 -0
  66. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/components/vectorstore.py +0 -0
  67. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/custom_logging.py +0 -0
  68. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/__init__.py +0 -0
  69. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/alloydb.py +0 -0
  70. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/alloydb_client.py +0 -0
  71. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/database.py +0 -0
  72. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/lancedb.py +0 -0
  73. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/sql/sb/create_function.sql +0 -0
  74. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  75. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/sql/sb/create_table.sql +0 -0
  76. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  77. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/sql/sb/return_sources.sql +0 -0
  78. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/sql/sb/setup.sql +0 -0
  79. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/static_dbs.py +0 -0
  80. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/database/uuid.py +0 -0
  81. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/discovery_engine/__init__.py +0 -0
  82. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/discovery_engine/chunker_handler.py +0 -0
  83. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/discovery_engine/create_new.py +0 -0
  84. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  85. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  86. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/embedder/__init__.py +0 -0
  87. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/embedder/embed_chunk.py +0 -0
  88. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/gcs/__init__.py +0 -0
  89. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/gcs/add_file.py +0 -0
  90. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/gcs/download_folder.py +0 -0
  91. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/gcs/download_url.py +0 -0
  92. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/gcs/metadata.py +0 -0
  93. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/invoke/__init__.py +0 -0
  94. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/invoke/direct_vac_func.py +0 -0
  95. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/invoke/invoke_vac_utils.py +0 -0
  96. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/langfuse/__init__.py +0 -0
  97. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/langfuse/callback.py +0 -0
  98. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/langfuse/prompts.py +0 -0
  99. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/llamaindex/__init__.py +0 -0
  100. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/llamaindex/get_files.py +0 -0
  101. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/llamaindex/import_files.py +0 -0
  102. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/llamaindex/llamaindex_class.py +0 -0
  103. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/llamaindex/user_history.py +0 -0
  104. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/lookup/__init__.py +0 -0
  105. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/lookup/model_lookup.yaml +0 -0
  106. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/patches/__init__.py +0 -0
  107. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/patches/langchain/__init__.py +0 -0
  108. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/patches/langchain/lancedb.py +0 -0
  109. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/patches/langchain/vertexai.py +0 -0
  110. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/pubsub/__init__.py +0 -0
  111. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/pubsub/process_pubsub.py +0 -0
  112. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/pubsub/pubsub_manager.py +0 -0
  113. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/qna/__init__.py +0 -0
  114. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/qna/parsers.py +0 -0
  115. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/qna/retry.py +0 -0
  116. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/streaming/__init__.py +0 -0
  117. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/streaming/content_buffer.py +0 -0
  118. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/streaming/langserve.py +0 -0
  119. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/streaming/stream_lookup.py +0 -0
  120. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/streaming/streaming.py +0 -0
  121. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/summarise/__init__.py +0 -0
  122. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/summarise/summarise.py +0 -0
  123. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/tools/__init__.py +0 -0
  124. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/tools/web_browser.py +0 -0
  125. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/__init__.py +0 -0
  126. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/api_key.py +0 -0
  127. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/big_context.py +0 -0
  128. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/config.py +0 -0
  129. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/config_schema.py +0 -0
  130. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/gcp.py +0 -0
  131. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/gcp_project.py +0 -0
  132. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/parsers.py +0 -0
  133. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/timedelta.py +0 -0
  134. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/user_ids.py +0 -0
  135. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/utils/version.py +0 -0
  136. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/vertex/__init__.py +0 -0
  137. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/vertex/extensions_call.py +0 -0
  138. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/vertex/extensions_class.py +0 -0
  139. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/vertex/genai_functions.py +0 -0
  140. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/vertex/init.py +0 -0
  141. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/vertex/memory_tools.py +0 -0
  142. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/vertex/safety.py +0 -0
  143. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo/vertex/type_dict_to_json.py +0 -0
  144. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo.egg-info/SOURCES.txt +0 -0
  145. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo.egg-info/dependency_links.txt +0 -0
  146. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo.egg-info/entry_points.txt +0 -0
  147. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo.egg-info/requires.txt +0 -0
  148. {sunholo-0.81.3 → sunholo-0.81.4}/sunholo.egg-info/top_level.txt +0 -0
  149. {sunholo-0.81.3 → sunholo-0.81.4}/tests/test_chat_history.py +0 -0
  150. {sunholo-0.81.3 → sunholo-0.81.4}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.81.3
3
+ Version: 0.81.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.81.3.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.81.4.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.81.3'
4
+ version = '0.81.4'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -3,6 +3,8 @@ import json
3
3
  import yaml
4
4
  from datetime import datetime, timedelta
5
5
  from collections import defaultdict
6
+ from yaml.constructor import SafeConstructor, ConstructorError
7
+
6
8
  from .timedelta import format_timedelta
7
9
 
8
10
  class ConfigManager:
@@ -120,11 +122,30 @@ class ConfigManager:
120
122
  dict: The loaded configuration.
121
123
  """
122
124
  from ..custom_logging import log
125
+
126
+ class NoDuplicateKeyConstructor(SafeConstructor):
127
+ def construct_mapping(self, node, deep=False):
128
+ mapping = {}
129
+ for key_node, value_node in node.value:
130
+ key = self.construct_object(key_node, deep=deep)
131
+ if key in mapping:
132
+ raise ConstructorError(f"Duplicate key found: {key_node.start_mark}")
133
+ value = self.construct_object(value_node, deep=deep)
134
+ mapping[key] = value
135
+ return mapping
136
+
137
+ NoDuplicateKeyLoader = yaml.Loader
138
+ NoDuplicateKeyLoader.add_constructor(
139
+ yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG,
140
+ NoDuplicateKeyConstructor.construct_mapping
141
+ )
142
+
123
143
  with open(config_file, 'r') as file:
124
144
  if filename.endswith('.json'):
125
145
  config = json.load(file)
126
146
  else:
127
- config = yaml.safe_load(file)
147
+ config = yaml.load(file, Loader=NoDuplicateKeyLoader)
148
+
128
149
  self.config_cache[filename] = (config, datetime.now())
129
150
  if is_local:
130
151
  log.warning(f"Local configuration override for {filename} via {self.local_config_folder}")
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.81.3
3
+ Version: 0.81.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.81.3.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.81.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