sunholo 0.62.2__tar.gz → 0.62.3__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 (115) hide show
  1. {sunholo-0.62.2 → sunholo-0.62.3}/PKG-INFO +2 -2
  2. {sunholo-0.62.2 → sunholo-0.62.3}/setup.py +1 -1
  3. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/chat_vac.py +6 -2
  4. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/utils/config.py +11 -4
  5. sunholo-0.62.3/sunholo/utils/timedelta.py +14 -0
  6. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo.egg-info/PKG-INFO +2 -2
  7. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo.egg-info/SOURCES.txt +1 -0
  8. {sunholo-0.62.2 → sunholo-0.62.3}/LICENSE.txt +0 -0
  9. {sunholo-0.62.2 → sunholo-0.62.3}/MANIFEST.in +0 -0
  10. {sunholo-0.62.2 → sunholo-0.62.3}/README.md +0 -0
  11. {sunholo-0.62.2 → sunholo-0.62.3}/setup.cfg +0 -0
  12. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/__init__.py +0 -0
  13. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/__init__.py +0 -0
  14. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/chat_history.py +0 -0
  15. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/dispatch_to_qa.py +0 -0
  16. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/fastapi/__init__.py +0 -0
  17. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/fastapi/base.py +0 -0
  18. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/fastapi/qna_routes.py +0 -0
  19. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/flask/__init__.py +0 -0
  20. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/flask/base.py +0 -0
  21. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/flask/qna_routes.py +0 -0
  22. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/langserve.py +0 -0
  23. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/pubsub.py +0 -0
  24. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/route.py +0 -0
  25. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/agents/special_commands.py +0 -0
  26. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/archive/__init__.py +0 -0
  27. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/archive/archive.py +0 -0
  28. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/auth/__init__.py +0 -0
  29. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/auth/run.py +0 -0
  30. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/bots/__init__.py +0 -0
  31. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/bots/discord.py +0 -0
  32. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/bots/github_webhook.py +0 -0
  33. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/bots/webapp.py +0 -0
  34. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/__init__.py +0 -0
  35. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  36. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/doc_handling.py +0 -0
  37. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/images.py +0 -0
  38. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/loaders.py +0 -0
  39. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/message_data.py +0 -0
  40. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/pdfs.py +0 -0
  41. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/publish.py +0 -0
  42. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/chunker/splitter.py +0 -0
  43. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/__init__.py +0 -0
  44. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/cli.py +0 -0
  45. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/cli_init.py +0 -0
  46. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/configs.py +0 -0
  47. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/deploy.py +0 -0
  48. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/embedder.py +0 -0
  49. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/merge_texts.py +0 -0
  50. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/run_proxy.py +0 -0
  51. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/cli/sun_rich.py +0 -0
  52. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/components/__init__.py +0 -0
  53. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/components/llm.py +0 -0
  54. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/components/prompt.py +0 -0
  55. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/components/retriever.py +0 -0
  56. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/components/vectorstore.py +0 -0
  57. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/__init__.py +0 -0
  58. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/alloydb.py +0 -0
  59. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/database.py +0 -0
  60. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/lancedb.py +0 -0
  61. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/sql/sb/create_function.sql +0 -0
  62. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  63. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/sql/sb/create_table.sql +0 -0
  64. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  65. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/sql/sb/return_sources.sql +0 -0
  66. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/sql/sb/setup.sql +0 -0
  67. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/static_dbs.py +0 -0
  68. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/database/uuid.py +0 -0
  69. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/embedder/__init__.py +0 -0
  70. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/embedder/embed_chunk.py +0 -0
  71. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/gcs/__init__.py +0 -0
  72. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/gcs/add_file.py +0 -0
  73. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/gcs/download_url.py +0 -0
  74. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/gcs/metadata.py +0 -0
  75. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/langfuse/__init__.py +0 -0
  76. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/langfuse/callback.py +0 -0
  77. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/langfuse/prompts.py +0 -0
  78. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/llamaindex/__init__.py +0 -0
  79. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/llamaindex/generate.py +0 -0
  80. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/llamaindex/get_files.py +0 -0
  81. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/llamaindex/import_files.py +0 -0
  82. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/logging.py +0 -0
  83. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/lookup/__init__.py +0 -0
  84. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/lookup/model_lookup.yaml +0 -0
  85. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/patches/__init__.py +0 -0
  86. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/patches/langchain/__init__.py +0 -0
  87. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/patches/langchain/lancedb.py +0 -0
  88. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/patches/langchain/vertexai.py +0 -0
  89. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/pubsub/__init__.py +0 -0
  90. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/pubsub/process_pubsub.py +0 -0
  91. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/pubsub/pubsub_manager.py +0 -0
  92. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/qna/__init__.py +0 -0
  93. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/qna/parsers.py +0 -0
  94. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/qna/retry.py +0 -0
  95. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/streaming/__init__.py +0 -0
  96. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/streaming/content_buffer.py +0 -0
  97. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/streaming/langserve.py +0 -0
  98. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/streaming/streaming.py +0 -0
  99. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/summarise/__init__.py +0 -0
  100. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/summarise/summarise.py +0 -0
  101. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/utils/__init__.py +0 -0
  102. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/utils/big_context.py +0 -0
  103. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/utils/config_schema.py +0 -0
  104. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/utils/gcp.py +0 -0
  105. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/utils/parsers.py +0 -0
  106. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/utils/user_ids.py +0 -0
  107. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/vertex/__init__.py +0 -0
  108. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/vertex/init.py +0 -0
  109. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo/vertex/memory_tools.py +0 -0
  110. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo.egg-info/dependency_links.txt +0 -0
  111. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo.egg-info/entry_points.txt +0 -0
  112. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo.egg-info/requires.txt +0 -0
  113. {sunholo-0.62.2 → sunholo-0.62.3}/sunholo.egg-info/top_level.txt +0 -0
  114. {sunholo-0.62.2 → sunholo-0.62.3}/tests/test_chat_history.py +0 -0
  115. {sunholo-0.62.2 → sunholo-0.62.3}/tests/test_config.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.62.2
3
+ Version: 0.62.3
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.62.2.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.62.3.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.62.2'
4
+ version = '0.62.3'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -33,8 +33,12 @@ def get_service_url(vac_name, project, region, no_config=False):
33
33
  port = proxies[agent_name]['port']
34
34
  url = f"http://127.0.0.1:{port}"
35
35
  else:
36
- console.print(f"No proxy found running for service: [bold orange]'{agent_name}[/bold orange] required for [bold orange]{vac_name}[/bold orange] - attempting to connect")
37
- url = start_proxy(agent_name, region, project)
36
+ if agent_name:
37
+ console.print(f"No proxy found running for service: [bold orange]'{agent_name}'[/bold orange] required for [bold orange]{vac_name}[/bold orange] - attempting to connect")
38
+ url = start_proxy(agent_name, region, project)
39
+ else:
40
+ console.print(f"No config for [bold orange]'{vac_name}'[/bold orange] - can't start proxy")
41
+ sys.exit(1)
38
42
 
39
43
  return url
40
44
 
@@ -17,6 +17,7 @@ import json
17
17
  import yaml
18
18
  from datetime import datetime, timedelta
19
19
  from collections import defaultdict
20
+ from .timedelta import format_timedelta
20
21
 
21
22
 
22
23
  def get_module_filepath(filepath: str):
@@ -56,10 +57,15 @@ def load_all_configs():
56
57
  """
57
58
  from ..logging import log
58
59
 
60
+ if not os.getenv("_CONFIG_FOLDER", None):
61
+ log.warning("_CONFIG_FOLDER is not set, using os.getcwd() instead")
62
+ else:
63
+ log.warning(f"_CONFIG_FOLDER set to: {os.getenv('_CONFIG_FOLDER')}")
64
+
59
65
  config_folder = os.getenv("_CONFIG_FOLDER", os.getcwd())
60
66
  config_folder = os.path.join(config_folder, "config")
61
67
 
62
- log.debug(f"Loading all configs from folder: {config_folder}")
68
+ log.info(f"Loading all configs from folder: {config_folder}")
63
69
  current_time = datetime.now()
64
70
 
65
71
  configs_by_kind = defaultdict(dict)
@@ -74,8 +80,9 @@ def load_all_configs():
74
80
  # Check cache first
75
81
  if filename in config_cache:
76
82
  cached_config, cache_time = config_cache[filename]
77
- if (current_time - cache_time) < timedelta(minutes=5):
78
- log.debug(f"Returning cached config for {filename}")
83
+ time_to_recache = (current_time - cache_time)
84
+ if time_to_recache < timedelta(minutes=5):
85
+ log.info(f"Returning cached config for {filename} - recache in {format_timedelta(time_to_recache)}")
79
86
  config = cached_config
80
87
  else:
81
88
  config = reload_config_file(config_file, filename)
@@ -102,7 +109,7 @@ def reload_config_file(config_file, filename):
102
109
  config = yaml.safe_load(file)
103
110
 
104
111
  config_cache[filename] = (config, datetime.now())
105
- log.debug(f"Loaded and cached {filename}")
112
+ log.info(f"Loaded and cached {filename}")
106
113
  return config
107
114
 
108
115
 
@@ -0,0 +1,14 @@
1
+ def format_timedelta(td):
2
+ days = td.days
3
+ seconds = td.seconds
4
+ hours, remainder = divmod(seconds, 3600)
5
+ minutes, seconds = divmod(remainder, 60)
6
+
7
+ if days > 0:
8
+ return f"{days} day(s), {hours} hour(s), {minutes} minute(s), {seconds} second(s)"
9
+ elif hours > 0:
10
+ return f"{hours} hour(s), {minutes} minute(s), {seconds} second(s)"
11
+ elif minutes > 0:
12
+ return f"{minutes} minute(s), {seconds} second(s)"
13
+ else:
14
+ return f"{seconds} second(s)"
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.62.2
3
+ Version: 0.62.3
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.62.2.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.62.3.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -105,6 +105,7 @@ sunholo/utils/config.py
105
105
  sunholo/utils/config_schema.py
106
106
  sunholo/utils/gcp.py
107
107
  sunholo/utils/parsers.py
108
+ sunholo/utils/timedelta.py
108
109
  sunholo/utils/user_ids.py
109
110
  sunholo/vertex/__init__.py
110
111
  sunholo/vertex/init.py
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