sunholo 0.104.4__tar.gz → 0.104.6__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 (164) hide show
  1. {sunholo-0.104.4 → sunholo-0.104.6}/PKG-INFO +2 -2
  2. {sunholo-0.104.4 → sunholo-0.104.6}/setup.py +1 -1
  3. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/flask/vac_routes.py +13 -8
  4. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/streaming/streaming.py +11 -5
  5. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo.egg-info/PKG-INFO +2 -2
  6. {sunholo-0.104.4 → sunholo-0.104.6}/LICENSE.txt +0 -0
  7. {sunholo-0.104.4 → sunholo-0.104.6}/MANIFEST.in +0 -0
  8. {sunholo-0.104.4 → sunholo-0.104.6}/README.md +0 -0
  9. {sunholo-0.104.4 → sunholo-0.104.6}/setup.cfg +0 -0
  10. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/__init__.py +0 -0
  11. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/__init__.py +0 -0
  12. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/chat_history.py +0 -0
  13. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/dispatch_to_qa.py +0 -0
  14. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/fastapi/__init__.py +0 -0
  15. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/fastapi/base.py +0 -0
  16. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/fastapi/qna_routes.py +0 -0
  17. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/flask/__init__.py +0 -0
  18. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/flask/base.py +0 -0
  19. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/flask/qna_routes.py +0 -0
  20. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/langserve.py +0 -0
  21. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/pubsub.py +0 -0
  22. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/route.py +0 -0
  23. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/special_commands.py +0 -0
  24. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/agents/swagger.py +0 -0
  25. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/archive/__init__.py +0 -0
  26. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/archive/archive.py +0 -0
  27. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/auth/__init__.py +0 -0
  28. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/auth/gcloud.py +0 -0
  29. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/auth/refresh.py +0 -0
  30. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/auth/run.py +0 -0
  31. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/azure/__init__.py +0 -0
  32. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/azure/auth.py +0 -0
  33. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/azure/blobs.py +0 -0
  34. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/azure/event_grid.py +0 -0
  35. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/bots/__init__.py +0 -0
  36. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/bots/discord.py +0 -0
  37. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/bots/github_webhook.py +0 -0
  38. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/bots/webapp.py +0 -0
  39. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/__init__.py +0 -0
  40. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/azure.py +0 -0
  41. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/doc_handling.py +0 -0
  42. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/encode_metadata.py +0 -0
  43. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/images.py +0 -0
  44. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/loaders.py +0 -0
  45. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/message_data.py +0 -0
  46. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/pdfs.py +0 -0
  47. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/process_chunker_data.py +0 -0
  48. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/publish.py +0 -0
  49. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/pubsub.py +0 -0
  50. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/chunker/splitter.py +0 -0
  51. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/__init__.py +0 -0
  52. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/chat_vac.py +0 -0
  53. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/cli.py +0 -0
  54. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/cli_init.py +0 -0
  55. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/configs.py +0 -0
  56. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/deploy.py +0 -0
  57. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/embedder.py +0 -0
  58. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/merge_texts.py +0 -0
  59. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/run_proxy.py +0 -0
  60. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/sun_rich.py +0 -0
  61. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/swagger.py +0 -0
  62. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/cli/vertex.py +0 -0
  63. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/components/__init__.py +0 -0
  64. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/components/llm.py +0 -0
  65. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/components/retriever.py +0 -0
  66. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/components/vectorstore.py +0 -0
  67. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/custom_logging.py +0 -0
  68. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/__init__.py +0 -0
  69. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/alloydb.py +0 -0
  70. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/alloydb_client.py +0 -0
  71. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/database.py +0 -0
  72. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/lancedb.py +0 -0
  73. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/sql/sb/create_function.sql +0 -0
  74. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  75. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/sql/sb/create_table.sql +0 -0
  76. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  77. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/sql/sb/return_sources.sql +0 -0
  78. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/sql/sb/setup.sql +0 -0
  79. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/static_dbs.py +0 -0
  80. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/database/uuid.py +0 -0
  81. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/discovery_engine/__init__.py +0 -0
  82. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/discovery_engine/chunker_handler.py +0 -0
  83. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/discovery_engine/create_new.py +0 -0
  84. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  85. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  86. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/embedder/__init__.py +0 -0
  87. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/embedder/embed_chunk.py +0 -0
  88. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/excel/__init__.py +0 -0
  89. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/excel/plugin.py +0 -0
  90. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/gcs/__init__.py +0 -0
  91. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/gcs/add_file.py +0 -0
  92. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/gcs/download_folder.py +0 -0
  93. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/gcs/download_url.py +0 -0
  94. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/gcs/extract_and_sign.py +0 -0
  95. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/gcs/metadata.py +0 -0
  96. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/genai/__init__.py +0 -0
  97. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/genai/images.py +0 -0
  98. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/genai/init.py +0 -0
  99. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/genai/process_funcs_cls.py +0 -0
  100. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/genai/safety.py +0 -0
  101. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/invoke/__init__.py +0 -0
  102. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/invoke/async_class.py +0 -0
  103. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/invoke/direct_vac_func.py +0 -0
  104. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/invoke/invoke_vac_utils.py +0 -0
  105. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/langfuse/__init__.py +0 -0
  106. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/langfuse/callback.py +0 -0
  107. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/langfuse/evals.py +0 -0
  108. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/langfuse/prompts.py +0 -0
  109. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/llamaindex/__init__.py +0 -0
  110. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/llamaindex/get_files.py +0 -0
  111. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/llamaindex/import_files.py +0 -0
  112. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/llamaindex/llamaindex_class.py +0 -0
  113. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/llamaindex/user_history.py +0 -0
  114. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/lookup/__init__.py +0 -0
  115. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/lookup/model_lookup.yaml +0 -0
  116. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/patches/__init__.py +0 -0
  117. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/patches/langchain/__init__.py +0 -0
  118. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/patches/langchain/lancedb.py +0 -0
  119. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/patches/langchain/vertexai.py +0 -0
  120. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/pubsub/__init__.py +0 -0
  121. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/pubsub/process_pubsub.py +0 -0
  122. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/pubsub/pubsub_manager.py +0 -0
  123. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/qna/__init__.py +0 -0
  124. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/qna/parsers.py +0 -0
  125. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/qna/retry.py +0 -0
  126. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/streaming/__init__.py +0 -0
  127. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/streaming/content_buffer.py +0 -0
  128. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/streaming/langserve.py +0 -0
  129. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/streaming/stream_lookup.py +0 -0
  130. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/summarise/__init__.py +0 -0
  131. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/summarise/summarise.py +0 -0
  132. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/terraform/__init__.py +0 -0
  133. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/terraform/tfvars_editor.py +0 -0
  134. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/tools/__init__.py +0 -0
  135. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/tools/web_browser.py +0 -0
  136. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/__init__.py +0 -0
  137. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/api_key.py +0 -0
  138. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/big_context.py +0 -0
  139. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/config.py +0 -0
  140. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/config_class.py +0 -0
  141. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/config_schema.py +0 -0
  142. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/gcp.py +0 -0
  143. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/gcp_project.py +0 -0
  144. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/mime.py +0 -0
  145. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/parsers.py +0 -0
  146. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/timedelta.py +0 -0
  147. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/user_ids.py +0 -0
  148. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/utils/version.py +0 -0
  149. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/vertex/__init__.py +0 -0
  150. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/vertex/extensions_call.py +0 -0
  151. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/vertex/extensions_class.py +0 -0
  152. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/vertex/genai_functions.py +0 -0
  153. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/vertex/init.py +0 -0
  154. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/vertex/memory_tools.py +0 -0
  155. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/vertex/safety.py +0 -0
  156. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo/vertex/type_dict_to_json.py +0 -0
  157. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo.egg-info/SOURCES.txt +0 -0
  158. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo.egg-info/dependency_links.txt +0 -0
  159. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo.egg-info/entry_points.txt +0 -0
  160. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo.egg-info/requires.txt +0 -0
  161. {sunholo-0.104.4 → sunholo-0.104.6}/sunholo.egg-info/top_level.txt +0 -0
  162. {sunholo-0.104.4 → sunholo-0.104.6}/tests/test_async.py +0 -0
  163. {sunholo-0.104.4 → sunholo-0.104.6}/tests/test_chat_history.py +0 -0
  164. {sunholo-0.104.4 → sunholo-0.104.6}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.104.4
3
+ Version: 0.104.6
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.104.4.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.104.6.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.104.4'
3
+ version = '0.104.6'
4
4
 
5
5
  setup(
6
6
  name='sunholo',
@@ -125,7 +125,7 @@ if __name__ == "__main__":
125
125
 
126
126
  def handle_options(self, **kwargs):
127
127
  response = Response(status=200)
128
- response.headers.add('Access-Control-Allow-Origin', '*')
128
+ response.headers['Access-Control-Allow-Origin'] = '*'
129
129
 
130
130
  # Reflect the request's `Access-Control-Request-Headers`
131
131
  request_headers = request.headers.get('Access-Control-Request-Headers', '')
@@ -138,11 +138,11 @@ if __name__ == "__main__":
138
138
  return response
139
139
 
140
140
  def register_after_request(self, response):
141
- # Add CORS headers for all responses
142
- response.headers.add('Access-Control-Allow-Origin', '*')
143
- response.headers.add('Access-Control-Allow-Headers', 'Content-Type, Authorization, x-api-key')
144
- response.headers.add('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
145
-
141
+ # Ensure correct CORS headers
142
+ response.headers['Access-Control-Allow-Origin'] = '*'
143
+ response.headers['Access-Control-Allow-Headers'] = 'Content-Type, Authorization, x-api-key'
144
+ response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS'
145
+
146
146
  return response
147
147
 
148
148
  def register_additional_routes(self):
@@ -618,7 +618,7 @@ if __name__ == "__main__":
618
618
  user_id = user_id,
619
619
  session_id = session_id,
620
620
  tags = tags,
621
- release = f"sunholo-v{package_version}"
621
+ release = package_version
622
622
  )
623
623
 
624
624
  def prep_vac(self, request, vector_name):
@@ -660,7 +660,12 @@ if __name__ == "__main__":
660
660
  raise ValueError(f"Unable to find vac_config for {vector_name} - {str(e)}")
661
661
 
662
662
  if trace:
663
- trace.update(input=data, metadata=vac_config.configs_by_kind)
663
+ this_vac_config = vac_config.configs_by_kind.get("vacConfig")
664
+ metadata_config=None
665
+ if this_vac_config:
666
+ metadata_config = this_vac_config.get(vector_name)
667
+
668
+ trace.update(input=data, metadata=metadata_config)
664
669
 
665
670
  user_input = data.pop('user_input').strip()
666
671
  stream_wait_time = data.pop('stream_wait_time', 7)
@@ -87,25 +87,31 @@ def start_streaming_chat(question,
87
87
  break
88
88
  else:
89
89
  log.info(f"Stream has ended after {round(time.time() - first_start, 2)} seconds")
90
- log.info("Sending final full message plus sources...")
90
+
91
91
 
92
92
 
93
93
  # if you need it to stop it elsewhere use
94
94
  # stop_event.set()
95
95
  content_to_send = content_buffer.read()
96
96
  if content_to_send:
97
- log.info(f"==\n{content_to_send}")
97
+ log.info(f"==Flush==\n{content_to_send}")
98
98
  yield content_to_send
99
99
  content_buffer.clear()
100
100
 
101
101
  # Stop the stream thread
102
102
  chat_thread.join()
103
103
 
104
- # the json object with full response in 'answer' and the 'sources' array
105
- final_result = result_queue.get()
104
+ if kwargs.get("stream_only"):
105
+ log.info("stream_only so finishing now")
106
+ final_yield = ""
107
+ else:
108
+ log.info("Sending final full message plus sources...")
109
+ # the json object with full response in 'answer' and the 'sources' array
110
+ final_result = result_queue.get()
111
+ final_yield = parse_output(final_result)
106
112
 
107
113
  # parses out source_documents if not present etc.
108
- yield parse_output(final_result)
114
+ yield final_yield
109
115
 
110
116
  async def start_streaming_chat_async(question, vector_name, qna_func_async, chat_history=[], wait_time=2, timeout=120, **kwargs):
111
117
  """
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.104.4
3
+ Version: 0.104.6
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.104.4.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.104.6.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