sunholo 0.58.5__tar.gz → 0.59.1__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 (106) hide show
  1. {sunholo-0.58.5 → sunholo-0.59.1}/PKG-INFO +3 -2
  2. {sunholo-0.58.5 → sunholo-0.59.1}/setup.py +2 -1
  3. sunholo-0.59.1/sunholo/cli/configs.py +124 -0
  4. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/gcs/download_url.py +5 -4
  5. sunholo-0.59.1/sunholo/utils/config_schema.py +121 -0
  6. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo.egg-info/PKG-INFO +3 -2
  7. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo.egg-info/SOURCES.txt +1 -0
  8. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo.egg-info/requires.txt +1 -0
  9. sunholo-0.58.5/sunholo/cli/configs.py +0 -29
  10. {sunholo-0.58.5 → sunholo-0.59.1}/LICENSE.txt +0 -0
  11. {sunholo-0.58.5 → sunholo-0.59.1}/MANIFEST.in +0 -0
  12. {sunholo-0.58.5 → sunholo-0.59.1}/README.md +0 -0
  13. {sunholo-0.58.5 → sunholo-0.59.1}/setup.cfg +0 -0
  14. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/__init__.py +0 -0
  15. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/__init__.py +0 -0
  16. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/chat_history.py +0 -0
  17. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/dispatch_to_qa.py +0 -0
  18. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/fastapi/__init__.py +0 -0
  19. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/fastapi/base.py +0 -0
  20. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/fastapi/qna_routes.py +0 -0
  21. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/flask/__init__.py +0 -0
  22. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/flask/base.py +0 -0
  23. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/flask/qna_routes.py +0 -0
  24. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/langserve.py +0 -0
  25. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/pubsub.py +0 -0
  26. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/route.py +0 -0
  27. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/special_commands.py +0 -0
  28. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/agents/test_chat_history.py +0 -0
  29. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/archive/__init__.py +0 -0
  30. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/archive/archive.py +0 -0
  31. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/auth/__init__.py +0 -0
  32. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/auth/run.py +0 -0
  33. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/bots/__init__.py +0 -0
  34. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/bots/discord.py +0 -0
  35. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/bots/webapp.py +0 -0
  36. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/__init__.py +0 -0
  37. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
  38. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/doc_handling.py +0 -0
  39. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/images.py +0 -0
  40. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/loaders.py +0 -0
  41. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/message_data.py +0 -0
  42. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/pdfs.py +0 -0
  43. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/publish.py +0 -0
  44. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/chunker/splitter.py +0 -0
  45. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/cli/__init__.py +0 -0
  46. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/cli/cli.py +0 -0
  47. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/cli/cli_init.py +0 -0
  48. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/cli/deploy.py +0 -0
  49. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/components/__init__.py +0 -0
  50. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/components/llm.py +0 -0
  51. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/components/prompt.py +0 -0
  52. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/components/retriever.py +0 -0
  53. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/components/vectorstore.py +0 -0
  54. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/__init__.py +0 -0
  55. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/alloydb.py +0 -0
  56. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/database.py +0 -0
  57. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/lancedb.py +0 -0
  58. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/sql/sb/create_function.sql +0 -0
  59. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/sql/sb/create_function_time.sql +0 -0
  60. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/sql/sb/create_table.sql +0 -0
  61. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  62. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/sql/sb/return_sources.sql +0 -0
  63. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/sql/sb/setup.sql +0 -0
  64. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/static_dbs.py +0 -0
  65. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/database/uuid.py +0 -0
  66. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/embedder/__init__.py +0 -0
  67. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/embedder/embed_chunk.py +0 -0
  68. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/gcs/__init__.py +0 -0
  69. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/gcs/add_file.py +0 -0
  70. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/gcs/metadata.py +0 -0
  71. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/langfuse/__init__.py +0 -0
  72. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/langfuse/callback.py +0 -0
  73. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/langfuse/prompts.py +0 -0
  74. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/llamaindex/__init__.py +0 -0
  75. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/llamaindex/generate.py +0 -0
  76. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/llamaindex/import_files.py +0 -0
  77. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/logging.py +0 -0
  78. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/lookup/__init__.py +0 -0
  79. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/lookup/model_lookup.yaml +0 -0
  80. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/patches/__init__.py +0 -0
  81. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/patches/langchain/__init__.py +0 -0
  82. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/patches/langchain/lancedb.py +0 -0
  83. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/patches/langchain/vertexai.py +0 -0
  84. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/pubsub/__init__.py +0 -0
  85. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/pubsub/process_pubsub.py +0 -0
  86. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/pubsub/pubsub_manager.py +0 -0
  87. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/qna/__init__.py +0 -0
  88. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/qna/parsers.py +0 -0
  89. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/qna/retry.py +0 -0
  90. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/streaming/__init__.py +0 -0
  91. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/streaming/content_buffer.py +0 -0
  92. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/streaming/langserve.py +0 -0
  93. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/streaming/streaming.py +0 -0
  94. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/summarise/__init__.py +0 -0
  95. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/summarise/summarise.py +0 -0
  96. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/utils/__init__.py +0 -0
  97. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/utils/big_context.py +0 -0
  98. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/utils/config.py +0 -0
  99. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/utils/gcp.py +0 -0
  100. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/utils/parsers.py +0 -0
  101. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/vertex/__init__.py +0 -0
  102. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo/vertex/init_vertex.py +0 -0
  103. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo.egg-info/dependency_links.txt +0 -0
  104. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo.egg-info/entry_points.txt +0 -0
  105. {sunholo-0.58.5 → sunholo-0.59.1}/sunholo.egg-info/top_level.txt +0 -0
  106. {sunholo-0.58.5 → sunholo-0.59.1}/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.58.5
3
+ Version: 0.59.1
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.58.5.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.59.1.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE.txt
21
+ Requires-Dist: jsonschema
21
22
  Requires-Dist: langchain
22
23
  Requires-Dist: langchain_experimental
23
24
  Requires-Dist: langchain-community
@@ -1,7 +1,7 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
3
  # Define your base version
4
- version = '0.58.5'
4
+ version = '0.59.1'
5
5
 
6
6
  setup(
7
7
  name='sunholo',
@@ -27,6 +27,7 @@ setup(
27
27
  },
28
28
  install_requires=[
29
29
  # Base dependencies
30
+ "jsonschema",
30
31
  "langchain",
31
32
  "langchain_experimental",
32
33
  "langchain-community",
@@ -0,0 +1,124 @@
1
+ import sys
2
+ from ..utils.config import load_all_configs
3
+ from ..utils.config_schema import SCHEMAS, VAC_SUBCONFIG_SCHEMA
4
+
5
+ from jsonschema import validate, ValidationError
6
+ from pprint import pprint
7
+
8
+ def validate_config(config, schema):
9
+ try:
10
+ validate(instance=config, schema=schema)
11
+ print("OK: Validated schema")
12
+ return True
13
+ except ValidationError as err:
14
+ error_path = " -> ".join(map(str, err.path))
15
+ #print(f"ERROR: Validation error at '{error_path}': {err.message}")
16
+ raise ValidationError(f"Validation error at '{error_path}': {err.message}")
17
+
18
+ def list_configs(args):
19
+ """
20
+ Lists configuration files, filtered by kind or VAC name if specified, and optionally validates them.
21
+
22
+ Args:
23
+ args: Command-line arguments including 'kind', 'vac', and 'validate' for filtering and validation.
24
+
25
+ Examples:
26
+ # List all configurations
27
+ list_configs(args)
28
+
29
+ # List configurations filtered by kind
30
+ args.kind = 'vacConfig'
31
+ list_configs(args)
32
+
33
+ # List configurations filtered by VAC name
34
+ args.vac = 'edmonbrain'
35
+ list_configs(args)
36
+
37
+ # List configurations filtered by both kind and VAC name
38
+ args.kind = 'vacConfig'
39
+ args.vac = 'edmonbrain'
40
+ list_configs(args)
41
+
42
+ # Validate configurations
43
+ args.validate = True
44
+ list_configs(args)
45
+ """
46
+ print("Listing configuration files")
47
+ configs = load_all_configs()
48
+ filtered_configs = {}
49
+
50
+ if args.kind and args.vac:
51
+ if args.kind in configs:
52
+ kind_config = configs[args.kind]
53
+ vac_config = kind_config.get('vac', {}).get(args.vac)
54
+ if vac_config:
55
+ filtered_configs[args.kind] = {args.vac: vac_config}
56
+ else:
57
+ print(f"No configurations found for kind: {args.kind} with VAC: {args.vac}")
58
+ else:
59
+ print(f"No configurations found for kind: {args.kind}")
60
+ elif args.kind:
61
+ if args.kind in configs:
62
+ filtered_configs[args.kind] = configs[args.kind]
63
+ else:
64
+ print(f"No configurations found for kind: {args.kind}")
65
+ elif args.vac:
66
+ for kind, config in configs.items():
67
+ vac_config = config.get('vac', {}).get(args.vac)
68
+ if vac_config:
69
+ if kind not in filtered_configs:
70
+ filtered_configs[kind] = {}
71
+ filtered_configs[kind][args.vac] = vac_config
72
+ if not filtered_configs:
73
+ print(f"No configurations found with VAC: {args.vac}")
74
+ else:
75
+ filtered_configs = configs
76
+
77
+ for kind, config in filtered_configs.items():
78
+ print(f"## Config kind: {kind}")
79
+ pprint(config)
80
+
81
+ if args.validate:
82
+ validation_failed = False
83
+ for kind, config in filtered_configs.items():
84
+ print(f"Validating configuration for kind: {kind}")
85
+ if args.kind == "vacConfig" and args.vac:
86
+ print(f"Validating vacConfig for {args.vac}")
87
+ try:
88
+ validate_config(config[args.vac], VAC_SUBCONFIG_SCHEMA)
89
+ except ValidationError as e:
90
+ print(f"Validation failed for sub-kind: {args.vac} - {str(e)}")
91
+ validation_failed = True
92
+ elif kind in SCHEMAS:
93
+ try:
94
+ validate_config(config, SCHEMAS[kind])
95
+ except ValidationError as e:
96
+ print(f"FAIL: Validation failed for kind: {kind} - - {str(e)}")
97
+ validation_failed = True
98
+ else:
99
+ print(f"No schema available to validate configuration for kind: {kind}")
100
+
101
+ if validation_failed:
102
+ print("Validation failed for one or more configurations")
103
+
104
+ sys.exit(1)
105
+
106
+
107
+ def setup_list_configs_subparser(subparsers):
108
+ """
109
+ Sets up an argparse subparser for the 'list-configs' command.
110
+
111
+ Args:
112
+ subparsers: The subparsers object from argparse.ArgumentParser().
113
+
114
+ Examples:
115
+ # Set up the subparser for the 'list-configs' command
116
+ parser = argparse.ArgumentParser()
117
+ subparsers = parser.add_subparsers()
118
+ setup_list_configs_subparser(subparsers)
119
+ """
120
+ list_configs_parser = subparsers.add_parser('list-configs', help='Lists all configuration files and their details e.g. `sunholo list-configs --kind=vacConfig --vac=edmonbrain`')
121
+ list_configs_parser.add_argument('--kind', help='Filter configurations by kind e.g. `--kind=vacConfig`')
122
+ list_configs_parser.add_argument('--vac', help='Filter configurations by VAC name e.g. `--vac=edmonbrain`')
123
+ list_configs_parser.add_argument('--validate', action='store_true', help='Validate the configuration files.')
124
+ list_configs_parser.set_defaults(func=list_configs)
@@ -2,12 +2,13 @@ import os
2
2
  from urllib.parse import quote
3
3
  from datetime import datetime, timedelta
4
4
 
5
- import google.auth # needs to be in minimal to check gcp
5
+ # needs to be in minimal to check gcp
6
+ import google.auth
7
+ from google.auth.transport import requests
8
+ from google.auth.exceptions import RefreshError
6
9
 
7
10
  try:
8
- from google.cloud import storage
9
- from google.auth.transport import requests
10
- from google.auth.exceptions import RefreshError
11
+ from google.cloud import storage
11
12
  except ImportError:
12
13
  storage = None
13
14
 
@@ -0,0 +1,121 @@
1
+ VAC_SUBCONFIG_SCHEMA = {
2
+ "type": "object",
3
+ "properties": {
4
+ "llm": {"type": "string"},
5
+ "agent": {"type": "string"},
6
+ "model": {"type": "string"},
7
+ "prompt": {"type": "string"},
8
+ "chunker": {
9
+ "type": "object",
10
+ "properties": {
11
+ "type": {"type": "string"},
12
+ "llm": {"type": "string"},
13
+ "chunk_size": {"type": "integer"},
14
+ "overlap": {"type": "integer"}
15
+ },
16
+ "additionalProperties": False
17
+ },
18
+ "memory": {
19
+ "type": "array",
20
+ "items": {
21
+ "type": "object",
22
+ "patternProperties": {
23
+ ".*-vectorstore": {
24
+ "type": "object",
25
+ "properties": {
26
+ "vectorstore": {"type": "string"},
27
+ "self_query": {"type": "boolean"},
28
+ "provider": {"type": "string"},
29
+ "k": {"type": "integer"},
30
+ "vector_name": {"type": "string"},
31
+ "read_only": {"type": "boolean"},
32
+ "llm": {"type": "string"}
33
+ },
34
+ "required": ["vectorstore"]
35
+ }
36
+ }
37
+ }
38
+ },
39
+ "gcp_config": {
40
+ "type": "object",
41
+ "properties": {
42
+ "project_id": {"type": "string"},
43
+ "endpoint_id": {"type": "integer"},
44
+ "location": {"type": "string"}
45
+ }
46
+ },
47
+ "alloydb_config": {
48
+ "type": "object",
49
+ "properties": {
50
+ "project_id": {"type": "string"},
51
+ "region": {"type": "string"},
52
+ "cluster": {"type": "string"},
53
+ "instance": {"type": "string"},
54
+ "database": {"type": "string"}
55
+ }
56
+ },
57
+ "secrets": {
58
+ "type": "array",
59
+ "items": {"type": "string"}
60
+ },
61
+ "display_name": {"type": "string"},
62
+ "avatar_url": {"type": "string"},
63
+ "description": {"type": "string"},
64
+ "memory_k": {"type": "integer"}
65
+ },
66
+ "required": ["llm", "agent"]
67
+ }
68
+
69
+
70
+ VAC_CONFIG_SCHEMA = {
71
+ "type": "object",
72
+ "properties": {
73
+ "kind": {"type": "string"},
74
+ "apiVersion": {"type": "string"},
75
+ "gcp_config": {
76
+ "type": "object",
77
+ "properties": {
78
+ "project_id": {"type": "string"},
79
+ "location": {"type": "string"}
80
+ },
81
+ "required": ["project_id", "location"]
82
+ },
83
+ "vac": {
84
+ "type": "object",
85
+ "patternProperties": {
86
+ ".*": VAC_SUBCONFIG_SCHEMA
87
+ }
88
+ }
89
+ },
90
+ "required": ["kind", "apiVersion", "gcp_config", "vac"]
91
+ }
92
+
93
+ PROMPT_CONFIG_SCHEMA = {
94
+ "type": "object",
95
+ "properties": {
96
+ "kind": {"type": "string"},
97
+ "apiVersion": {"type": "string"},
98
+ "prompts": {
99
+ "type": "object",
100
+ "patternProperties": {
101
+ ".*": {
102
+ "type": "object",
103
+ "properties": {
104
+ "chunk_summary": {"type": "string"},
105
+ "intro": {"type": "string"},
106
+ "template": {"type": "string"},
107
+ "chat_summary": {"type": "string"},
108
+ "summarise_known_question": {"type": "string"}
109
+ }
110
+ }
111
+ }
112
+ }
113
+ },
114
+ "required": ["kind", "apiVersion", "prompts"]
115
+ }
116
+
117
+ SCHEMAS = {
118
+ "vacConfig": VAC_CONFIG_SCHEMA,
119
+ "promptConfig": PROMPT_CONFIG_SCHEMA
120
+ }
121
+
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.58.5
3
+ Version: 0.59.1
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.58.5.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.59.1.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE.txt
21
+ Requires-Dist: jsonschema
21
22
  Requires-Dist: langchain
22
23
  Requires-Dist: langchain_experimental
23
24
  Requires-Dist: langchain-community
@@ -96,6 +96,7 @@ sunholo/summarise/summarise.py
96
96
  sunholo/utils/__init__.py
97
97
  sunholo/utils/big_context.py
98
98
  sunholo/utils/config.py
99
+ sunholo/utils/config_schema.py
99
100
  sunholo/utils/gcp.py
100
101
  sunholo/utils/parsers.py
101
102
  sunholo/vertex/__init__.py
@@ -1,3 +1,4 @@
1
+ jsonschema
1
2
  langchain
2
3
  langchain_experimental
3
4
  langchain-community
@@ -1,29 +0,0 @@
1
- from ..utils.config import load_all_configs
2
-
3
- from pprint import pprint
4
-
5
- def list_configs(args):
6
- """
7
- Lists configuration files, filtered by kind if specified.
8
- """
9
- print("Listing configuration files")
10
- configs = load_all_configs()
11
-
12
- if args.kind:
13
- if args.kind in configs:
14
- print(f"## Config kind: {args.kind}")
15
- pprint(configs[args.kind])
16
- else:
17
- print(f"No configurations found for kind: {args.kind}")
18
- else:
19
- for kind, config in configs.items():
20
- pprint(f"## Config kind: {kind}")
21
- pprint(config)
22
-
23
- def setup_list_configs_subparser(subparsers):
24
- """
25
- Sets up an argparse subparser for the 'list-configs' command.
26
- """
27
- list_configs_parser = subparsers.add_parser('list-configs', help='Lists all configuration files and their details.')
28
- list_configs_parser.add_argument('--kind', help='Filter configurations by kind.')
29
- list_configs_parser.set_defaults(func=list_configs)
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