sunholo 0.99.11__py3-none-any.whl → 0.99.12__py3-none-any.whl

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.
@@ -83,18 +83,16 @@ class AsyncTaskRunner:
83
83
  except asyncio.CancelledError:
84
84
  pass
85
85
 
86
- # Send a message indicating task completion and remove spinner
86
+ # Send a message indicating task completion to update the spinner's state
87
87
  if callback:
88
88
  completion_html = (
89
- f"<script>"
90
- f"document.getElementById('{name}-spinner').innerHTML = '✔️ Task {name} completed!';"
91
- f"</script>"
89
+ f'<div style="display: none;" data-complete-id="{name}-spinner"></div>'
92
90
  )
93
91
  await callback.async_on_llm_new_token(token=completion_html)
94
92
 
95
93
  async def _send_heartbeat(self, callback, func_name, interval=2):
96
94
  """
97
- Sends periodic heartbeat updates to indicate the task is still in progress.
95
+ Sends a single spinner at the start and keeps the task alive.
98
96
 
99
97
  Args:
100
98
  callback: The callback to notify that the task is still working.
@@ -103,11 +101,10 @@ class AsyncTaskRunner:
103
101
  """
104
102
  # Send the initial spinner HTML
105
103
  spinner_html = (
106
- f'<div id="{func_name}-spinner" style="display:inline-block; margin: 5px;">'
107
- f'<div class="spinner" style="width:16px; height:16px; border: 2px solid #f3f3f3; '
108
- f'border-radius: 50%; border-top: 2px solid #3498db; animation: spin 1s linear infinite;"></div>'
109
- f'<style>@keyframes spin {{0% {{ transform: rotate(0deg); }} 100% {{ transform: rotate(360deg); }}}}</style>'
110
- f' <span>Task {func_name} is in progress...</span></div>'
104
+ f'<div id="{func_name}-spinner" class="spinner-container">'
105
+ f' <div class="spinner"></div>'
106
+ f' <span class="completed">✔️ Task {func_name} completed!</span>'
107
+ f'</div>'
111
108
  )
112
109
  await callback.async_on_llm_new_token(token=spinner_html)
113
110
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.99.11
3
+ Version: 0.99.12
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.99.11.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.99.12.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -89,7 +89,7 @@ sunholo/genai/init.py,sha256=yG8E67TduFCTQPELo83OJuWfjwTnGZsyACospahyEaY,687
89
89
  sunholo/genai/process_funcs_cls.py,sha256=MF3wm-N-zoYvme4I8ffXM9I7cog8OFyBnLu1e3A6eVc,26695
90
90
  sunholo/genai/safety.py,sha256=mkFDO_BeEgiKjQd9o2I4UxB6XI7a9U-oOFjZ8LGRUC4,1238
91
91
  sunholo/invoke/__init__.py,sha256=o1RhwBGOtVK0MIdD55fAIMCkJsxTksi8GD5uoqVKI-8,184
92
- sunholo/invoke/async_class.py,sha256=O-Jv0MHkACGA5uBG0EuyYnPpY4I5xMKgoNZZ4Q0dECY,5297
92
+ sunholo/invoke/async_class.py,sha256=N45IX9732TijQ1LcgOiBiPTiZg1srKnNU46EY0NbDzo,4946
93
93
  sunholo/invoke/direct_vac_func.py,sha256=GXSCMkC6vOWGUtQjxy-ZpTrMvJa3CgcW-y9mDpJwWC8,9533
94
94
  sunholo/invoke/invoke_vac_utils.py,sha256=sJc1edHTHMzMGXjji1N67c3iUaP7BmAL5nj82Qof63M,2053
95
95
  sunholo/langfuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -144,9 +144,9 @@ sunholo/vertex/init.py,sha256=1OQwcPBKZYBTDPdyU7IM4X4OmiXLdsNV30C-fee2scQ,2875
144
144
  sunholo/vertex/memory_tools.py,sha256=tBZxqVZ4InTmdBvLlOYwoSEWu4-kGquc-gxDwZCC4FA,7667
145
145
  sunholo/vertex/safety.py,sha256=S9PgQT1O_BQAkcqauWncRJaydiP8Q_Jzmu9gxYfy1VA,2482
146
146
  sunholo/vertex/type_dict_to_json.py,sha256=uTzL4o9tJRao4u-gJOFcACgWGkBOtqACmb6ihvCErL8,4694
147
- sunholo-0.99.11.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
148
- sunholo-0.99.11.dist-info/METADATA,sha256=EcWW2HDcFkxMivwaUo69Qg5sFI3ySqM8ZxmusIz2U90,8312
149
- sunholo-0.99.11.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
150
- sunholo-0.99.11.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
151
- sunholo-0.99.11.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
152
- sunholo-0.99.11.dist-info/RECORD,,
147
+ sunholo-0.99.12.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
148
+ sunholo-0.99.12.dist-info/METADATA,sha256=DBqgk8OurecnulKJbbQ6r2NNv-e9X-YI4lR9rpKKQYA,8312
149
+ sunholo-0.99.12.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
150
+ sunholo-0.99.12.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
151
+ sunholo-0.99.12.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
152
+ sunholo-0.99.12.dist-info/RECORD,,