sunholo 0.116.1__tar.gz → 0.118.0__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.
- {sunholo-0.116.1 → sunholo-0.118.0}/PKG-INFO +27 -4
- {sunholo-0.116.1 → sunholo-0.118.0}/README.md +6 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/setup.py +8 -3
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/cli.py +3 -3
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/cli_init.py +1 -1
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/genai/__init__.py +2 -1
- sunholo-0.118.0/sunholo/genai/genaiv2.py +542 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/langfuse/evals.py +2 -1
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/mcp/cli.py +19 -18
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/big_context.py +11 -4
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo.egg-info/PKG-INFO +27 -4
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo.egg-info/SOURCES.txt +3 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo.egg-info/requires.txt +7 -1
- sunholo-0.118.0/tests/test_async_genai2.py +39 -0
- sunholo-0.118.0/tests/test_genai2.py +125 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/LICENSE.txt +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/MANIFEST.in +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/setup.cfg +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/route.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/agents/swagger.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/archive/archive.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/auth/refresh.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/auth/run.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/azure/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/azure/auth.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/azure/blobs.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/bots/discord.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/azure.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/images.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/configs.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/cli/vertex.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/components/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/components/llm.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/components/retriever.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/custom_logging.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/database.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/database/uuid.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/excel/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/excel/plugin.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/gcs/extract_and_sign.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/genai/file_handling.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/genai/images.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/genai/init.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/genai/process_funcs_cls.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/genai/safety.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/invoke/async_class.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/mcp/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/qna/retry.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/senses/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/senses/stream_voice.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/terraform/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/terraform/tfvars_editor.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/tools/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/types.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/api_key.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/config.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/config_class.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/mime.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/utils/version.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/vertex/init.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/tests/test_async.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/tests/test_chat_history.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/tests/test_config.py +0 -0
- {sunholo-0.116.1 → sunholo-0.118.0}/tests/test_unstructured.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.118.0
|
|
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.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.118.0.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -47,6 +47,7 @@ Requires-Dist: google-cloud-pubsub; extra == "all"
|
|
|
47
47
|
Requires-Dist: google-cloud-discoveryengine; extra == "all"
|
|
48
48
|
Requires-Dist: google-cloud-texttospeech; extra == "all"
|
|
49
49
|
Requires-Dist: google-generativeai>=0.7.1; extra == "all"
|
|
50
|
+
Requires-Dist: google-genai; extra == "all"
|
|
50
51
|
Requires-Dist: gunicorn; extra == "all"
|
|
51
52
|
Requires-Dist: httpcore; extra == "all"
|
|
52
53
|
Requires-Dist: httpx; extra == "all"
|
|
@@ -64,6 +65,7 @@ Requires-Dist: langchain-unstructured; extra == "all"
|
|
|
64
65
|
Requires-Dist: langfuse; extra == "all"
|
|
65
66
|
Requires-Dist: mcp; extra == "all"
|
|
66
67
|
Requires-Dist: numpy; extra == "all"
|
|
68
|
+
Requires-Dist: opencv-python; extra == "all"
|
|
67
69
|
Requires-Dist: pg8000; extra == "all"
|
|
68
70
|
Requires-Dist: pgvector; extra == "all"
|
|
69
71
|
Requires-Dist: pillow; extra == "all"
|
|
@@ -118,9 +120,9 @@ Requires-Dist: unstructured[all-docs,local-inference]; extra == "pipeline"
|
|
|
118
120
|
Provides-Extra: gcp
|
|
119
121
|
Requires-Dist: anthropic[vertex]; extra == "gcp"
|
|
120
122
|
Requires-Dist: google-api-python-client; extra == "gcp"
|
|
121
|
-
Requires-Dist: google-cloud-alloydb-connector[pg8000]; extra == "gcp"
|
|
122
123
|
Requires-Dist: google-auth-httplib2; extra == "gcp"
|
|
123
124
|
Requires-Dist: google-auth-oauthlib; extra == "gcp"
|
|
125
|
+
Requires-Dist: google-cloud-alloydb-connector[pg8000]; extra == "gcp"
|
|
124
126
|
Requires-Dist: google-cloud-aiplatform>=1.58.0; extra == "gcp"
|
|
125
127
|
Requires-Dist: google-cloud-bigquery; extra == "gcp"
|
|
126
128
|
Requires-Dist: google-cloud-build; extra == "gcp"
|
|
@@ -130,6 +132,7 @@ Requires-Dist: google-cloud-logging; extra == "gcp"
|
|
|
130
132
|
Requires-Dist: google-cloud-pubsub; extra == "gcp"
|
|
131
133
|
Requires-Dist: google-cloud-discoveryengine; extra == "gcp"
|
|
132
134
|
Requires-Dist: google-cloud-texttospeech; extra == "gcp"
|
|
135
|
+
Requires-Dist: google-genai; extra == "gcp"
|
|
133
136
|
Requires-Dist: google-generativeai>=0.8.3; extra == "gcp"
|
|
134
137
|
Requires-Dist: langchain-google-genai>=2.0.0; extra == "gcp"
|
|
135
138
|
Requires-Dist: langchain_google_alloydb_pg>=0.2.2; extra == "gcp"
|
|
@@ -164,6 +167,20 @@ Provides-Extra: tts
|
|
|
164
167
|
Requires-Dist: google-cloud-texttospeech; extra == "tts"
|
|
165
168
|
Requires-Dist: numpy; extra == "tts"
|
|
166
169
|
Requires-Dist: sounddevice; extra == "tts"
|
|
170
|
+
Provides-Extra: video
|
|
171
|
+
Requires-Dist: opencv-python; extra == "video"
|
|
172
|
+
Dynamic: author
|
|
173
|
+
Dynamic: author-email
|
|
174
|
+
Dynamic: classifier
|
|
175
|
+
Dynamic: description
|
|
176
|
+
Dynamic: description-content-type
|
|
177
|
+
Dynamic: download-url
|
|
178
|
+
Dynamic: home-page
|
|
179
|
+
Dynamic: keywords
|
|
180
|
+
Dynamic: license
|
|
181
|
+
Dynamic: provides-extra
|
|
182
|
+
Dynamic: requires-dist
|
|
183
|
+
Dynamic: summary
|
|
167
184
|
|
|
168
185
|
[](https://pypi.python.org/pypi/sunholo/)
|
|
169
186
|
|
|
@@ -190,6 +207,12 @@ pip install . --use-feature=in-tree-build
|
|
|
190
207
|
pytest tests
|
|
191
208
|
```
|
|
192
209
|
|
|
210
|
+
## Local dev
|
|
211
|
+
|
|
212
|
+
```sh
|
|
213
|
+
uv tool install --from "sunholo[cli]" sunholo --with ".[all]"
|
|
214
|
+
```
|
|
215
|
+
|
|
193
216
|
## Demos
|
|
194
217
|
|
|
195
218
|
Using https://github.com/charmbracelet/vhs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from setuptools import setup, find_packages
|
|
2
2
|
|
|
3
|
-
version = '0.
|
|
3
|
+
version = '0.118.0'
|
|
4
4
|
|
|
5
5
|
setup(
|
|
6
6
|
name='sunholo',
|
|
@@ -59,6 +59,7 @@ setup(
|
|
|
59
59
|
"google-cloud-discoveryengine",
|
|
60
60
|
"google-cloud-texttospeech",
|
|
61
61
|
"google-generativeai>=0.7.1",
|
|
62
|
+
"google-genai",
|
|
62
63
|
"gunicorn",
|
|
63
64
|
"httpcore",
|
|
64
65
|
"httpx",
|
|
@@ -76,6 +77,7 @@ setup(
|
|
|
76
77
|
"langfuse",
|
|
77
78
|
"mcp",
|
|
78
79
|
"numpy",
|
|
80
|
+
"opencv-python",
|
|
79
81
|
"pg8000",
|
|
80
82
|
"pgvector",
|
|
81
83
|
"pillow",
|
|
@@ -136,9 +138,9 @@ setup(
|
|
|
136
138
|
'gcp': [
|
|
137
139
|
"anthropic[vertex]",
|
|
138
140
|
"google-api-python-client",
|
|
139
|
-
"google-cloud-alloydb-connector[pg8000]",
|
|
140
141
|
"google-auth-httplib2",
|
|
141
142
|
"google-auth-oauthlib",
|
|
143
|
+
"google-cloud-alloydb-connector[pg8000]",
|
|
142
144
|
"google-cloud-aiplatform>=1.58.0",
|
|
143
145
|
"google-cloud-bigquery",
|
|
144
146
|
"google-cloud-build",
|
|
@@ -148,12 +150,12 @@ setup(
|
|
|
148
150
|
"google-cloud-pubsub",
|
|
149
151
|
"google-cloud-discoveryengine",
|
|
150
152
|
"google-cloud-texttospeech",
|
|
153
|
+
"google-genai",
|
|
151
154
|
"google-generativeai>=0.8.3",
|
|
152
155
|
"langchain-google-genai>=2.0.0",
|
|
153
156
|
"langchain_google_alloydb_pg>=0.2.2",
|
|
154
157
|
"langchain-google-vertexai",
|
|
155
158
|
"pillow",
|
|
156
|
-
|
|
157
159
|
],
|
|
158
160
|
'openai': [
|
|
159
161
|
"langchain-openai==0.1.25",
|
|
@@ -191,6 +193,9 @@ setup(
|
|
|
191
193
|
'numpy',
|
|
192
194
|
'sounddevice',
|
|
193
195
|
],
|
|
196
|
+
'video':[
|
|
197
|
+
'opencv-python'
|
|
198
|
+
]
|
|
194
199
|
|
|
195
200
|
|
|
196
201
|
},
|
|
@@ -16,7 +16,6 @@ from ..terraform import setup_tfvarseditor_subparser
|
|
|
16
16
|
from ..senses.stream_voice import setup_tts_subparser
|
|
17
17
|
from ..mcp.cli import setup_mcp_subparser
|
|
18
18
|
|
|
19
|
-
|
|
20
19
|
from ..utils import ConfigManager
|
|
21
20
|
from ..utils.version import sunholo_version
|
|
22
21
|
|
|
@@ -24,7 +23,7 @@ from ..custom_logging import log
|
|
|
24
23
|
|
|
25
24
|
from .sun_rich import console
|
|
26
25
|
import sys
|
|
27
|
-
|
|
26
|
+
|
|
28
27
|
|
|
29
28
|
def load_default_gcp_config():
|
|
30
29
|
try:
|
|
@@ -43,6 +42,7 @@ class CustomHelpAction(argparse.Action):
|
|
|
43
42
|
super().__init__(option_strings, dest, nargs=nargs, **kwargs)
|
|
44
43
|
|
|
45
44
|
def __call__(self, parser, namespace, values, option_string=None):
|
|
45
|
+
from rich.panel import Panel
|
|
46
46
|
console.print(
|
|
47
47
|
Panel("Welcome to Sunholo Command Line Interface, your assistant to deploy GenAI Virtual Agent Computers (VACs) to Multivac or your own Cloud.",
|
|
48
48
|
title="Sunholo GenAIOps Assistant CLI",
|
|
@@ -64,7 +64,7 @@ def main(args=None):
|
|
|
64
64
|
"""
|
|
65
65
|
default_project, default_region = load_default_gcp_config()
|
|
66
66
|
|
|
67
|
-
parser = argparse.ArgumentParser(description="sunholo CLI tool for deploying GenAI VACs
|
|
67
|
+
parser = argparse.ArgumentParser(description=f"sunholo CLI tool for deploying GenAI VACs - [{sunholo_version()}]", add_help=False)
|
|
68
68
|
parser.add_argument('-h', '--help', action=CustomHelpAction, help='Show this help message and exit')
|
|
69
69
|
parser.add_argument('--debug', action='store_true', help='Enable debug output')
|
|
70
70
|
parser.add_argument('--project', default=default_project, help='GCP project to list Cloud Run services from.')
|
|
@@ -200,7 +200,7 @@ def write_vac_config(project_dir: str, service_name: str):
|
|
|
200
200
|
|
|
201
201
|
# Write the YAML configuration to the file
|
|
202
202
|
with open(vac_config_path, 'w') as file:
|
|
203
|
-
yaml.dump(vac_config_content, file
|
|
203
|
+
yaml.dump(vac_config_content, file)
|
|
204
204
|
|
|
205
205
|
print(f"{vac_config_path} written successfully with service name '{service_name}'.")
|
|
206
206
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from .process_funcs_cls import GenAIFunctionProcessor
|
|
2
2
|
from .safety import genai_safety
|
|
3
3
|
from .init import init_genai
|
|
4
|
-
from .file_handling import download_gcs_upload_genai, construct_file_content
|
|
4
|
+
from .file_handling import download_gcs_upload_genai, construct_file_content
|
|
5
|
+
from .genaiv2 import GoogleAI, GoogleAIConfig
|