sunholo 0.71.26__tar.gz → 0.71.28__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.71.26 → sunholo-0.71.28}/PKG-INFO +2 -2
- {sunholo-0.71.26 → sunholo-0.71.28}/setup.py +1 -1
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/flask/qna_routes.py +1 -0
- sunholo-0.71.28/sunholo/gcs/__init__.py +1 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/gcs/download_url.py +40 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo.egg-info/PKG-INFO +2 -2
- sunholo-0.71.26/sunholo/gcs/__init__.py +0 -1
- {sunholo-0.71.26 → sunholo-0.71.28}/LICENSE.txt +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/MANIFEST.in +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/README.md +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/setup.cfg +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/route.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/agents/swagger.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/archive/archive.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/auth/run.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/bots/discord.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/data_to_embed_pubsub.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/images.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/cli.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/configs.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/components/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/components/llm.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/components/retriever.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/database.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/database/uuid.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/llamaindex/generate.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/logging.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/patches/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/qna/retry.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/tools/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/api_key.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/big_context.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/config.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/utils/version.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/vertex/extensions.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/vertex/init.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/tests/test_chat_history.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/tests/test_chunker.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/tests/test_config.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/tests/test_dispatch_to_qa.py +0 -0
- {sunholo-0.71.26 → sunholo-0.71.28}/tests/test_swagger.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.71.
|
|
3
|
+
Version: 0.71.28
|
|
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.71.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.71.28.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -508,6 +508,7 @@ def prep_vac(request, vector_name):
|
|
|
508
508
|
try:
|
|
509
509
|
image_uri, mime_type = handle_file_upload(file, vector_name)
|
|
510
510
|
data["image_uri"] = image_uri
|
|
511
|
+
data["image_url"] = image_uri
|
|
511
512
|
data["mime"] = mime_type
|
|
512
513
|
except Exception as e:
|
|
513
514
|
log.error(f"Error uploading file: {str(e)}")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .download_url import construct_download_link, get_bytes_from_gcs
|
|
@@ -20,6 +20,46 @@ project_id = None
|
|
|
20
20
|
gcs_client = None
|
|
21
21
|
gcs_bucket_cache = {}
|
|
22
22
|
|
|
23
|
+
|
|
24
|
+
def get_bytes_from_gcs(gs_uri):
|
|
25
|
+
"""
|
|
26
|
+
Downloads a file from Google Cloud Storage and returns its bytes.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
gs_uri (str): The Google Cloud Storage URI of the file to download (e.g., 'gs://bucket_name/file_name').
|
|
30
|
+
|
|
31
|
+
Returns:
|
|
32
|
+
bytes: The content of the file in bytes, or None if an error occurs.
|
|
33
|
+
"""
|
|
34
|
+
if not gs_uri.startswith('gs://'):
|
|
35
|
+
log.error(f"Invalid GCS URI: {gs_uri}")
|
|
36
|
+
return None
|
|
37
|
+
|
|
38
|
+
try:
|
|
39
|
+
storage_client = storage.Client()
|
|
40
|
+
except Exception as err:
|
|
41
|
+
log.error(f"Error creating storage client: {str(err)}")
|
|
42
|
+
return None
|
|
43
|
+
|
|
44
|
+
try:
|
|
45
|
+
# Parse the GCS URI
|
|
46
|
+
path_parts = gs_uri[5:].split('/', 1)
|
|
47
|
+
bucket_name = path_parts[0]
|
|
48
|
+
blob_name = path_parts[1]
|
|
49
|
+
|
|
50
|
+
# Get the bucket and blob
|
|
51
|
+
bucket = storage_client.bucket(bucket_name)
|
|
52
|
+
blob = bucket.blob(blob_name)
|
|
53
|
+
|
|
54
|
+
# Download the blob as bytes
|
|
55
|
+
file_bytes = blob.download_as_bytes()
|
|
56
|
+
return file_bytes
|
|
57
|
+
|
|
58
|
+
except Exception as err:
|
|
59
|
+
log.error(f"Error downloading file from GCS: {str(err)}")
|
|
60
|
+
return None
|
|
61
|
+
|
|
62
|
+
|
|
23
63
|
if is_running_on_gcp():
|
|
24
64
|
# Perform a refresh request to get the access token of the current credentials (Else, it's None)
|
|
25
65
|
gcs_credentials, project_id = google.auth.default()
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.71.
|
|
3
|
+
Version: 0.71.28
|
|
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.71.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.71.28.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from .download_url import construct_download_link
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|