sunholo 0.56.3__tar.gz → 0.56.5__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 (101) hide show
  1. {sunholo-0.56.3 → sunholo-0.56.5}/PKG-INFO +4 -2
  2. {sunholo-0.56.3 → sunholo-0.56.5}/setup.py +3 -1
  3. sunholo-0.56.5/sunholo/cli/cli.py +82 -0
  4. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/logging.py +2 -3
  5. sunholo-0.56.5/sunholo/patches/langchain/__init__.py +0 -0
  6. sunholo-0.56.5/sunholo/utils/__init__.py +1 -0
  7. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/utils/config.py +12 -50
  8. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo.egg-info/PKG-INFO +4 -2
  9. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo.egg-info/requires.txt +2 -0
  10. sunholo-0.56.3/sunholo/__init__.py +0 -34
  11. sunholo-0.56.3/sunholo/cli/cli.py +0 -12
  12. sunholo-0.56.3/sunholo/utils/__init__.py +0 -1
  13. {sunholo-0.56.3 → sunholo-0.56.5}/LICENSE.txt +0 -0
  14. {sunholo-0.56.3 → sunholo-0.56.5}/MANIFEST.in +0 -0
  15. {sunholo-0.56.3 → sunholo-0.56.5}/README.md +0 -0
  16. {sunholo-0.56.3 → sunholo-0.56.5}/setup.cfg +0 -0
  17. {sunholo-0.56.3/sunholo/cli → sunholo-0.56.5/sunholo}/__init__.py +0 -0
  18. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/__init__.py +0 -0
  19. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/chat_history.py +0 -0
  20. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/dispatch_to_qa.py +0 -0
  21. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/fastapi/__init__.py +0 -0
  22. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/fastapi/base.py +0 -0
  23. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/fastapi/qna_routes.py +0 -0
  24. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/flask/__init__.py +0 -0
  25. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/flask/base.py +0 -0
  26. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/flask/qna_routes.py +0 -0
  27. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/langserve.py +0 -0
  28. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/pubsub.py +0 -0
  29. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/route.py +0 -0
  30. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/special_commands.py +0 -0
  31. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/agents/test_chat_history.py +0 -0
  32. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/archive/__init__.py +0 -0
  33. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/archive/archive.py +0 -0
  34. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/auth/__init__.py +0 -0
  35. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/auth/run.py +0 -0
  36. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/bots/__init__.py +0 -0
  37. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/bots/discord.py +0 -0
  38. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/bots/webapp.py +0 -0
  39. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/__init__.py +0 -0
  40. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  41. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/doc_handling.py +0 -0
  42. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/images.py +0 -0
  43. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/loaders.py +0 -0
  44. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/message_data.py +0 -0
  45. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/pdfs.py +0 -0
  46. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/publish.py +0 -0
  47. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/chunker/splitter.py +0 -0
  48. {sunholo-0.56.3/sunholo/langfuse → sunholo-0.56.5/sunholo/cli}/__init__.py +0 -0
  49. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/components/__init__.py +0 -0
  50. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/components/llm.py +0 -0
  51. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/components/prompt.py +0 -0
  52. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/components/retriever.py +0 -0
  53. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/components/vectorstore.py +0 -0
  54. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/__init__.py +0 -0
  55. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/alloydb.py +0 -0
  56. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/database.py +0 -0
  57. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/lancedb.py +0 -0
  58. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/sql/sb/create_function.sql +0 -0
  59. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  60. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/sql/sb/create_table.sql +0 -0
  61. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  62. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/sql/sb/return_sources.sql +0 -0
  63. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/sql/sb/setup.sql +0 -0
  64. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/static_dbs.py +0 -0
  65. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/database/uuid.py +0 -0
  66. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/embedder/__init__.py +0 -0
  67. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/embedder/embed_chunk.py +0 -0
  68. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/gcs/__init__.py +0 -0
  69. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/gcs/add_file.py +0 -0
  70. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/gcs/download_url.py +0 -0
  71. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/gcs/metadata.py +0 -0
  72. {sunholo-0.56.3/sunholo/llamaindex → sunholo-0.56.5/sunholo/langfuse}/__init__.py +0 -0
  73. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/langfuse/callback.py +0 -0
  74. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/langfuse/prompts.py +0 -0
  75. {sunholo-0.56.3/sunholo/lookup → sunholo-0.56.5/sunholo/llamaindex}/__init__.py +0 -0
  76. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/llamaindex/generate.py +0 -0
  77. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/llamaindex/import_files.py +0 -0
  78. {sunholo-0.56.3/sunholo/patches → sunholo-0.56.5/sunholo/lookup}/__init__.py +0 -0
  79. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/lookup/model_lookup.yaml +0 -0
  80. {sunholo-0.56.3/sunholo/patches/langchain → sunholo-0.56.5/sunholo/patches}/__init__.py +0 -0
  81. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/patches/langchain/lancedb.py +0 -0
  82. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/patches/langchain/vertexai.py +0 -0
  83. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/pubsub/__init__.py +0 -0
  84. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/pubsub/process_pubsub.py +0 -0
  85. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/pubsub/pubsub_manager.py +0 -0
  86. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/qna/__init__.py +0 -0
  87. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/qna/parsers.py +0 -0
  88. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/qna/retry.py +0 -0
  89. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/streaming/__init__.py +0 -0
  90. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/streaming/content_buffer.py +0 -0
  91. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/streaming/langserve.py +0 -0
  92. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/streaming/streaming.py +0 -0
  93. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/summarise/__init__.py +0 -0
  94. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/summarise/summarise.py +0 -0
  95. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/utils/gcp.py +0 -0
  96. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo/utils/parsers.py +0 -0
  97. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo.egg-info/SOURCES.txt +0 -0
  98. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo.egg-info/dependency_links.txt +0 -0
  99. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo.egg-info/entry_points.txt +0 -0
  100. {sunholo-0.56.3 → sunholo-0.56.5}/sunholo.egg-info/top_level.txt +0 -0
  101. {sunholo-0.56.3 → sunholo-0.56.5}/test/test_dispatch_to_qa.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.56.3
3
+ Version: 0.56.5
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.56.3.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.56.5.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -27,6 +27,7 @@ Requires-Dist: flask; extra == "all"
27
27
  Requires-Dist: google-cloud-aiplatform; extra == "all"
28
28
  Requires-Dist: google-api-python-client; extra == "all"
29
29
  Requires-Dist: google-cloud-alloydb-connector[pg8000]; extra == "all"
30
+ Requires-Dist: google-cloud-build; extra == "all"
30
31
  Requires-Dist: google-cloud-logging; extra == "all"
31
32
  Requires-Dist: google-cloud-storage; extra == "all"
32
33
  Requires-Dist: google-cloud-pubsub; extra == "all"
@@ -52,6 +53,7 @@ Requires-Dist: pg8000; extra == "database"
52
53
  Requires-Dist: lancedb; extra == "database"
53
54
  Provides-Extra: gcp
54
55
  Requires-Dist: google-cloud-aiplatform; extra == "gcp"
56
+ Requires-Dist: google-cloud-build; extra == "gcp"
55
57
  Requires-Dist: google-cloud-storage; extra == "gcp"
56
58
  Requires-Dist: google-cloud-logging; extra == "gcp"
57
59
  Requires-Dist: google-cloud-pubsub; extra == "gcp"
@@ -1,7 +1,7 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
3
  # Define your base version
4
- version = '0.56.3'
4
+ version = '0.56.5'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -40,6 +40,7 @@ setup(
40
40
  "google-cloud-aiplatform",
41
41
  "google-api-python-client",
42
42
  "google-cloud-alloydb-connector[pg8000]",
43
+ "google-cloud-build",
43
44
  "google-cloud-logging",
44
45
  "google-cloud-storage",
45
46
  "google-cloud-pubsub",
@@ -67,6 +68,7 @@ setup(
67
68
  ],
68
69
  'gcp': [
69
70
  "google-cloud-aiplatform",
71
+ "google-cloud-build",
70
72
  "google-cloud-storage",
71
73
  "google-cloud-logging",
72
74
  "google-cloud-pubsub",
@@ -0,0 +1,82 @@
1
+ import argparse
2
+ try:
3
+ from google.cloud import build_v1
4
+ except ImportError:
5
+ build_v1 = None
6
+
7
+ from ..logging import log
8
+
9
+ def trigger_build(args):
10
+ """
11
+ Triggers a Google Cloud Build using an existing build trigger configured in GCP.
12
+
13
+ Args:
14
+ args: argparse.Namespace containing the command line arguments specified for the 'deploy' command.
15
+
16
+ Example:
17
+ trigger_build(args) where args contains project_id, trigger_id, repo_name, and branch_name.
18
+ """
19
+ if not build_v1:
20
+ log.warning("Can't deploy - google-cloud-build not installed, enable via `pip install sunholo[gcp]")
21
+
22
+ return None
23
+
24
+ client = build_v1.services.cloud_build.CloudBuildClient()
25
+ # Assuming the build source uses the path to the cloudbuild.yaml if specified.
26
+ source = build_v1.RepoSource(
27
+ project_id=args.project_id,
28
+ repo_name=args.repo_name,
29
+ branch_name=args.branch_name,
30
+ substitutions=args.substitutions,
31
+ dir=args.config_path # Path to directory containing cloudbuild.yaml
32
+ )
33
+ request = build_v1.RunBuildTriggerRequest(
34
+ project_id=args.project_id,
35
+ trigger_id=args.trigger_id,
36
+ source=source
37
+ )
38
+ operation = client.run_build_trigger(request)
39
+ print(f"Triggered build with id: {operation.metadata.build.id}")
40
+
41
+ def setup_deploy_subparser(subparsers):
42
+ """
43
+ Sets up an argparse subparser for the 'deploy' command.
44
+
45
+ Example command:
46
+ ```bash
47
+ sunholo deploy --project_id "my-gcp-project" --trigger_id "my-trigger-id" --repo_name "my-repo"
48
+ ```
49
+ """
50
+ deploy_parser = subparsers.add_parser('deploy', help='Triggers a deployment using an existing Google Cloud Build trigger.')
51
+ deploy_parser.add_argument('--project_id', required=True, help='Google Cloud Project ID required for deployment.')
52
+ deploy_parser.add_argument('--trigger_id', required=True, help='Google Cloud Build Trigger ID required for deployment.')
53
+ deploy_parser.add_argument('--repo_name', required=True, help='Name of the linked repository in Google Cloud Source Repositories required for deployment.')
54
+ deploy_parser.add_argument('--branch_name', default='main', help='Branch name to trigger the build from, defaults to "main".')
55
+ deploy_parser.add_argument('--config_path', default='.', help='Path to the directory containing the cloudbuild.yaml file, defaults to current directory.')
56
+ deploy_parser.set_defaults(func=trigger_build)
57
+
58
+ def main(args=None):
59
+ """
60
+ Entry point for the sunholo console script. This function parses command line arguments
61
+ and invokes the appropriate functionality based on the user input.
62
+
63
+ Example commands:
64
+ ```bash
65
+ sunholo deploy --project_id "my-gcp-project" --trigger_id "my-trigger-id" --repo_name "my-repo" --branch_name "dev" --config_path "app/vac/my_vac/"
66
+ ```
67
+ """
68
+ parser = argparse.ArgumentParser(description="sunholo CLI tool for deploying applications using Google Cloud Build.")
69
+ subparsers = parser.add_subparsers(title='commands', description='Valid commands', help='`sunholo deploy --help`', dest='command', required=True)
70
+
71
+ # Setup deploy command
72
+ setup_deploy_subparser(subparsers)
73
+
74
+ args = parser.parse_args(args)
75
+
76
+ if hasattr(args, 'func'):
77
+ args.func(args)
78
+ else:
79
+ parser.print_help()
80
+
81
+ if __name__ == "__main__":
82
+ main()
@@ -214,9 +214,6 @@ def setup_logging(logger_name=None, log_level=logging.INFO, project_id=None):
214
214
  if is_logging_setup(logger):
215
215
  return logger
216
216
 
217
- if project_id is None:
218
- project_id = get_gcp_project()
219
-
220
217
  if logger_name is None:
221
218
  logger_name = "sunholo"
222
219
 
@@ -227,6 +224,8 @@ def setup_logging(logger_name=None, log_level=logging.INFO, project_id=None):
227
224
  print("Found GOOGLE_CLOUD_LOGGING=1 but no GCP Client available, install via `pip install sunholo[gcp]` and/or authenticate")
228
225
 
229
226
  if Client and os.environ.get('GOOGLE_CLOUD_LOGGING') == "1":
227
+ if project_id is None:
228
+ project_id = get_gcp_project()
230
229
  # Instantiate the GoogleCloudLogging class
231
230
  gc_logger = GoogleCloudLogging(project_id, log_level=log_level, logger_name=logger_name)
232
231
  else:
File without changes
@@ -0,0 +1 @@
1
+ from .config import load_config_key, load_config
@@ -18,54 +18,6 @@ import yaml
18
18
  from datetime import datetime, timedelta
19
19
  from collections import defaultdict
20
20
 
21
- try:
22
- from google.cloud import storage
23
- except ImportError:
24
- storage = None
25
-
26
- def fetch_config(bucket_name: str, blob_name: str):
27
- """
28
- Fetch the configuration file from a Google Cloud Storage bucket.
29
-
30
- Args:
31
- bucket_name (str): The name of the GCS bucket.
32
- blob_name (str): The name of the blob/file to fetch.
33
-
34
- Returns:
35
- datetime or None: The last modified time of the file, or None if the blob does not exist.
36
-
37
- Example:
38
- ```python
39
- last_updated = fetch_config('my-bucket', 'config.yaml')
40
- if last_updated:
41
- print(f'Configuration file was last updated on {last_updated}')
42
- else:
43
- print('Configuration file not found in the specified bucket.')
44
- ```
45
- """
46
- from ..logging import log
47
-
48
- if not storage:
49
- log.debug("No google.cloud.storage client installed. Skipping config load from bucket")
50
- return None
51
-
52
- storage_client = storage.Client()
53
-
54
- bucket = storage_client.bucket(bucket_name)
55
- blob = storage.Blob(blob_name, bucket)
56
-
57
- # Check if the file exists
58
- if not blob.exists():
59
- log.info(f"The blob {blob_name} does not exist in the bucket {bucket_name}")
60
- return None
61
-
62
- # Download the file to a local file
63
- blob.download_to_filename(blob_name)
64
-
65
- # Get the blob's updated time
66
- updated_time = blob.updated
67
-
68
- return updated_time
69
21
 
70
22
  def get_module_filepath(filepath: str):
71
23
  """
@@ -105,13 +57,14 @@ def load_all_configs():
105
57
  from ..logging import log
106
58
 
107
59
  config_folder = os.getenv("_CONFIG_FOLDER", os.getcwd())
108
- config_file = os.path.join(config_folder, "config")
109
-
60
+ config_folder = os.path.join(config_folder, "config")
61
+
110
62
  log.info(f"Loading all configs from folder: {config_folder}")
111
63
  current_time = datetime.now()
112
64
 
113
65
  configs_by_kind = defaultdict(dict)
114
66
  for filename in os.listdir(config_folder):
67
+ log.info(f"config file: {filename}")
115
68
  if filename.endswith(('.yaml', '.yml', '.json')):
116
69
  config_file = os.path.join(config_folder, filename)
117
70
 
@@ -237,6 +190,15 @@ def load_config_key(key: str, vector_name: str, filename: str=None, kind: str=No
237
190
 
238
191
  configs_by_kind = load_all_configs()
239
192
  log.info(f"configs by kind: {configs_by_kind}")
193
+
194
+ if kind:
195
+ log.info(f"Got kind: {kind} - applying to configs")
196
+
197
+ if filename:
198
+ log.warning(f"Got filename argument: {filename} for config - deprecated - use `kind='vacConfig'` instead")
199
+
200
+ if not configs_by_kind:
201
+ log.warning("Did not load configs via folder")
240
202
 
241
203
  if kind and configs_by_kind.get(kind):
242
204
  config = configs_by_kind[kind]
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.56.3
3
+ Version: 0.56.5
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.56.3.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.56.5.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -27,6 +27,7 @@ Requires-Dist: flask; extra == "all"
27
27
  Requires-Dist: google-cloud-aiplatform; extra == "all"
28
28
  Requires-Dist: google-api-python-client; extra == "all"
29
29
  Requires-Dist: google-cloud-alloydb-connector[pg8000]; extra == "all"
30
+ Requires-Dist: google-cloud-build; extra == "all"
30
31
  Requires-Dist: google-cloud-logging; extra == "all"
31
32
  Requires-Dist: google-cloud-storage; extra == "all"
32
33
  Requires-Dist: google-cloud-pubsub; extra == "all"
@@ -52,6 +53,7 @@ Requires-Dist: pg8000; extra == "database"
52
53
  Requires-Dist: lancedb; extra == "database"
53
54
  Provides-Extra: gcp
54
55
  Requires-Dist: google-cloud-aiplatform; extra == "gcp"
56
+ Requires-Dist: google-cloud-build; extra == "gcp"
55
57
  Requires-Dist: google-cloud-storage; extra == "gcp"
56
58
  Requires-Dist: google-cloud-logging; extra == "gcp"
57
59
  Requires-Dist: google-cloud-pubsub; extra == "gcp"
@@ -8,6 +8,7 @@ flask
8
8
  google-cloud-aiplatform
9
9
  google-api-python-client
10
10
  google-cloud-alloydb-connector[pg8000]
11
+ google-cloud-build
11
12
  google-cloud-logging
12
13
  google-cloud-storage
13
14
  google-cloud-pubsub
@@ -38,6 +39,7 @@ lancedb
38
39
 
39
40
  [gcp]
40
41
  google-cloud-aiplatform
42
+ google-cloud-build
41
43
  google-cloud-storage
42
44
  google-cloud-logging
43
45
  google-cloud-pubsub
@@ -1,34 +0,0 @@
1
- from . import agents
2
- from . import archive
3
- from . import auth
4
- from . import bots
5
- from . import chunker
6
- from . import components
7
- from . import database
8
- from . import embedder
9
- from . import gcs
10
- from . import langfuse
11
- from . import lookup
12
- from . import patches
13
- from . import qna
14
- from . import streaming
15
- from . import utils
16
- import logging
17
-
18
- __all__ = ['agents',
19
- 'archive',
20
- 'auth',
21
- 'bots',
22
- 'chunker',
23
- 'components',
24
- 'database',
25
- 'embedder',
26
- 'gcs',
27
- 'langfuse',
28
- 'lookup',
29
- 'patches',
30
- 'qna',
31
- 'streaming',
32
- 'utils',
33
- 'logging']
34
-
@@ -1,12 +0,0 @@
1
- # sunholo/cli/cli.py
2
- import argparse
3
-
4
- def main():
5
- parser = argparse.ArgumentParser(description="sunholo CLI tool.")
6
- parser.add_argument('--echo', help='Echo the string you use here')
7
- args = parser.parse_args()
8
- if args.echo:
9
- print(args.echo)
10
-
11
- if __name__ == "__main__":
12
- main()
@@ -1 +0,0 @@
1
- from .config import fetch_config, load_config_key, load_config
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes