sunholo 0.116.2__tar.gz → 0.118.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.
- {sunholo-0.116.2 → sunholo-0.118.1}/PKG-INFO +15 -7
- sunholo-0.118.1/pyproject.toml +216 -0
- sunholo-0.118.1/setup.cfg +4 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/message_data.py +1 -1
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/pdfs.py +1 -1
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/publish.py +1 -1
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/cli_init.py +1 -1
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/genai/__init__.py +2 -1
- sunholo-0.118.1/src/sunholo/genai/genaiv2.py +542 -0
- sunholo-0.116.2/sunholo/types.py → sunholo-0.118.1/src/sunholo/langchain_types.py +5 -5
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/langfuse/evals.py +2 -1
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/mcp/cli.py +0 -2
- sunholo-0.118.1/src/sunholo/templates/agent/__init__.py +0 -0
- sunholo-0.118.1/src/sunholo/templates/agent/agent_service.py +157 -0
- sunholo-0.118.1/src/sunholo/templates/agent/app.py +16 -0
- sunholo-0.118.1/src/sunholo/templates/agent/my_log.py +3 -0
- sunholo-0.118.1/src/sunholo/templates/agent/tools/__init__.py +0 -0
- sunholo-0.118.1/src/sunholo/templates/agent/tools/your_agent.py +78 -0
- sunholo-0.118.1/src/sunholo/templates/agent/vac_service.py +73 -0
- sunholo-0.118.1/src/sunholo/templates/project/__init__.py +0 -0
- sunholo-0.118.1/src/sunholo/templates/project/app.py +17 -0
- sunholo-0.118.1/src/sunholo/templates/project/my_log.py +3 -0
- sunholo-0.118.1/src/sunholo/templates/project/vac_service.py +71 -0
- sunholo-0.118.1/src/sunholo/templates/system_services/__init__.py +0 -0
- sunholo-0.118.1/src/sunholo/templates/system_services/app.py +49 -0
- sunholo-0.118.1/src/sunholo/templates/system_services/my_log.py +3 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/big_context.py +11 -4
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo.egg-info/PKG-INFO +15 -7
- sunholo-0.118.1/src/sunholo.egg-info/SOURCES.txt +182 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo.egg-info/requires.txt +11 -1
- sunholo-0.118.1/tests/test_async_genai2.py +39 -0
- sunholo-0.118.1/tests/test_genai2.py +125 -0
- sunholo-0.116.2/setup.cfg +0 -16
- sunholo-0.116.2/setup.py +0 -207
- sunholo-0.116.2/sunholo.egg-info/SOURCES.txt +0 -166
- {sunholo-0.116.2 → sunholo-0.118.1}/LICENSE.txt +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1}/MANIFEST.in +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1}/README.md +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/route.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/agents/swagger.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/archive/archive.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/auth/refresh.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/auth/run.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/azure/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/azure/auth.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/azure/blobs.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/bots/discord.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/azure.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/images.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/cli.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/configs.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/cli/vertex.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/components/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/components/llm.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/components/retriever.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/custom_logging.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/database.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/database/uuid.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/excel/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/excel/plugin.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/gcs/extract_and_sign.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/genai/file_handling.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/genai/images.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/genai/init.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/genai/process_funcs_cls.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/genai/safety.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/invoke/async_class.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/mcp/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/qna/retry.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/senses/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/senses/stream_voice.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/terraform/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/terraform/tfvars_editor.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/tools/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/api_key.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/config.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/config_class.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/mime.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/utils/version.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/vertex/init.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1/src}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1}/tests/test_async.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1}/tests/test_chat_history.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1}/tests/test_config.py +0 -0
- {sunholo-0.116.2 → sunholo-0.118.1}/tests/test_unstructured.py +0 -0
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.118.1
|
|
4
4
|
Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
|
|
5
|
-
|
|
6
|
-
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.116.2.tar.gz
|
|
7
|
-
Author: Holosun ApS
|
|
8
|
-
Author-email: multivac@sunholo.com
|
|
5
|
+
Author-email: Holosun ApS <multivac@sunholo.com>
|
|
9
6
|
License: Apache License, Version 2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/sunholo-data/sunholo-py
|
|
8
|
+
Project-URL: Download, https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.118.0.tar.gz
|
|
10
9
|
Keywords: llms,devops,google_cloud_platform
|
|
11
10
|
Classifier: Development Status :: 3 - Alpha
|
|
12
11
|
Classifier: Intended Audience :: Developers
|
|
@@ -16,6 +15,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
19
|
Description-Content-Type: text/markdown
|
|
20
20
|
License-File: LICENSE.txt
|
|
21
21
|
Requires-Dist: aiohttp
|
|
@@ -24,6 +24,9 @@ Requires-Dist: pydantic
|
|
|
24
24
|
Requires-Dist: requests
|
|
25
25
|
Requires-Dist: ruamel.yaml
|
|
26
26
|
Requires-Dist: tenacity
|
|
27
|
+
Provides-Extra: test
|
|
28
|
+
Requires-Dist: pytest; extra == "test"
|
|
29
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
27
30
|
Provides-Extra: all
|
|
28
31
|
Requires-Dist: aiohttp; extra == "all"
|
|
29
32
|
Requires-Dist: anthropic[vertex]; extra == "all"
|
|
@@ -47,6 +50,7 @@ Requires-Dist: google-cloud-pubsub; extra == "all"
|
|
|
47
50
|
Requires-Dist: google-cloud-discoveryengine; extra == "all"
|
|
48
51
|
Requires-Dist: google-cloud-texttospeech; extra == "all"
|
|
49
52
|
Requires-Dist: google-generativeai>=0.7.1; extra == "all"
|
|
53
|
+
Requires-Dist: google-genai; extra == "all"
|
|
50
54
|
Requires-Dist: gunicorn; extra == "all"
|
|
51
55
|
Requires-Dist: httpcore; extra == "all"
|
|
52
56
|
Requires-Dist: httpx; extra == "all"
|
|
@@ -64,6 +68,7 @@ Requires-Dist: langchain-unstructured; extra == "all"
|
|
|
64
68
|
Requires-Dist: langfuse; extra == "all"
|
|
65
69
|
Requires-Dist: mcp; extra == "all"
|
|
66
70
|
Requires-Dist: numpy; extra == "all"
|
|
71
|
+
Requires-Dist: opencv-python; extra == "all"
|
|
67
72
|
Requires-Dist: pg8000; extra == "all"
|
|
68
73
|
Requires-Dist: pgvector; extra == "all"
|
|
69
74
|
Requires-Dist: pillow; extra == "all"
|
|
@@ -118,9 +123,9 @@ Requires-Dist: unstructured[all-docs,local-inference]; extra == "pipeline"
|
|
|
118
123
|
Provides-Extra: gcp
|
|
119
124
|
Requires-Dist: anthropic[vertex]; extra == "gcp"
|
|
120
125
|
Requires-Dist: google-api-python-client; extra == "gcp"
|
|
121
|
-
Requires-Dist: google-cloud-alloydb-connector[pg8000]; extra == "gcp"
|
|
122
126
|
Requires-Dist: google-auth-httplib2; extra == "gcp"
|
|
123
127
|
Requires-Dist: google-auth-oauthlib; extra == "gcp"
|
|
128
|
+
Requires-Dist: google-cloud-alloydb-connector[pg8000]; extra == "gcp"
|
|
124
129
|
Requires-Dist: google-cloud-aiplatform>=1.58.0; extra == "gcp"
|
|
125
130
|
Requires-Dist: google-cloud-bigquery; extra == "gcp"
|
|
126
131
|
Requires-Dist: google-cloud-build; extra == "gcp"
|
|
@@ -130,6 +135,7 @@ Requires-Dist: google-cloud-logging; extra == "gcp"
|
|
|
130
135
|
Requires-Dist: google-cloud-pubsub; extra == "gcp"
|
|
131
136
|
Requires-Dist: google-cloud-discoveryengine; extra == "gcp"
|
|
132
137
|
Requires-Dist: google-cloud-texttospeech; extra == "gcp"
|
|
138
|
+
Requires-Dist: google-genai; extra == "gcp"
|
|
133
139
|
Requires-Dist: google-generativeai>=0.8.3; extra == "gcp"
|
|
134
140
|
Requires-Dist: langchain-google-genai>=2.0.0; extra == "gcp"
|
|
135
141
|
Requires-Dist: langchain_google_alloydb_pg>=0.2.2; extra == "gcp"
|
|
@@ -164,6 +170,8 @@ Provides-Extra: tts
|
|
|
164
170
|
Requires-Dist: google-cloud-texttospeech; extra == "tts"
|
|
165
171
|
Requires-Dist: numpy; extra == "tts"
|
|
166
172
|
Requires-Dist: sounddevice; extra == "tts"
|
|
173
|
+
Provides-Extra: video
|
|
174
|
+
Requires-Dist: opencv-python; extra == "video"
|
|
167
175
|
|
|
168
176
|
[](https://pypi.python.org/pypi/sunholo/)
|
|
169
177
|
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "sunholo"
|
|
7
|
+
version = "0.118.1"
|
|
8
|
+
description = "Large Language Model DevOps - a package to help deploy LLMs to the Cloud."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = { text = "Apache License, Version 2.0" }
|
|
12
|
+
authors = [
|
|
13
|
+
{ name = "Holosun ApS", email = "multivac@sunholo.com" },
|
|
14
|
+
]
|
|
15
|
+
keywords = ["llms", "devops", "google_cloud_platform"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 3 - Alpha",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Topic :: Software Development :: Build Tools",
|
|
20
|
+
"License :: OSI Approved :: Apache Software License",
|
|
21
|
+
"Programming Language :: Python :: 3",
|
|
22
|
+
"Programming Language :: Python :: 3.10",
|
|
23
|
+
"Programming Language :: Python :: 3.11",
|
|
24
|
+
"Programming Language :: Python :: 3.12",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
dependencies = [
|
|
28
|
+
"aiohttp",
|
|
29
|
+
"google-auth",
|
|
30
|
+
"pydantic",
|
|
31
|
+
"requests",
|
|
32
|
+
"ruamel.yaml",
|
|
33
|
+
"tenacity"
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[project.urls]
|
|
37
|
+
Homepage = "https://github.com/sunholo-data/sunholo-py"
|
|
38
|
+
Download = "https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.118.0.tar.gz"
|
|
39
|
+
|
|
40
|
+
[project.scripts]
|
|
41
|
+
sunholo = "sunholo.cli.cli:main"
|
|
42
|
+
|
|
43
|
+
[tool.setuptools]
|
|
44
|
+
package-dir = {"" = "src"}
|
|
45
|
+
|
|
46
|
+
[tool.setuptools.packages.find]
|
|
47
|
+
where = ["src"]
|
|
48
|
+
include = ["*"]
|
|
49
|
+
|
|
50
|
+
[tool.setuptools.package-data]
|
|
51
|
+
"sunholo.database" = ["sql/sb/*.sql"]
|
|
52
|
+
"sunholo.lookup" = ["*.yaml"]
|
|
53
|
+
"sunholo.templates" = ["*.*"]
|
|
54
|
+
|
|
55
|
+
[project.optional-dependencies]
|
|
56
|
+
test = [
|
|
57
|
+
"pytest",
|
|
58
|
+
"pytest-cov",
|
|
59
|
+
# any other test dependencies
|
|
60
|
+
]
|
|
61
|
+
all = [
|
|
62
|
+
"aiohttp",
|
|
63
|
+
"anthropic[vertex]",
|
|
64
|
+
"asyncpg",
|
|
65
|
+
"azure-identity",
|
|
66
|
+
"azure-storage-blob",
|
|
67
|
+
"fastapi",
|
|
68
|
+
"flask",
|
|
69
|
+
"google-auth",
|
|
70
|
+
"google-auth-httplib2",
|
|
71
|
+
"google-auth-oauthlib",
|
|
72
|
+
"google-cloud-aiplatform>=1.58.0",
|
|
73
|
+
"google-api-python-client",
|
|
74
|
+
"google-cloud-alloydb-connector[pg8000]",
|
|
75
|
+
"google-cloud-bigquery",
|
|
76
|
+
"google-cloud-build",
|
|
77
|
+
"google-cloud-service-control",
|
|
78
|
+
"google-cloud-logging",
|
|
79
|
+
"google-cloud-storage",
|
|
80
|
+
"google-cloud-pubsub",
|
|
81
|
+
"google-cloud-discoveryengine",
|
|
82
|
+
"google-cloud-texttospeech",
|
|
83
|
+
"google-generativeai>=0.7.1",
|
|
84
|
+
"google-genai",
|
|
85
|
+
"gunicorn",
|
|
86
|
+
"httpcore",
|
|
87
|
+
"httpx",
|
|
88
|
+
"jsonschema",
|
|
89
|
+
"lancedb",
|
|
90
|
+
"langchain>=0.2.16",
|
|
91
|
+
"langchain-experimental>=0.0.61",
|
|
92
|
+
"langchain-community>=0.2.11",
|
|
93
|
+
"langchain-openai==0.1.25",
|
|
94
|
+
"langchain-google-genai==1.0.10",
|
|
95
|
+
"langchain_google_alloydb_pg",
|
|
96
|
+
"langchain-anthropic==0.1.23",
|
|
97
|
+
"langchain-google-vertexai",
|
|
98
|
+
"langchain-unstructured",
|
|
99
|
+
"langfuse",
|
|
100
|
+
"mcp",
|
|
101
|
+
"numpy",
|
|
102
|
+
"opencv-python",
|
|
103
|
+
"pg8000",
|
|
104
|
+
"pgvector",
|
|
105
|
+
"pillow",
|
|
106
|
+
"playwright",
|
|
107
|
+
"psutil",
|
|
108
|
+
"psycopg2-binary",
|
|
109
|
+
"pydantic",
|
|
110
|
+
"pypdf",
|
|
111
|
+
"python-hcl2",
|
|
112
|
+
"python-socketio",
|
|
113
|
+
"pytesseract",
|
|
114
|
+
"requests",
|
|
115
|
+
"rich",
|
|
116
|
+
"sounddevice",
|
|
117
|
+
"supabase",
|
|
118
|
+
"tabulate",
|
|
119
|
+
"tantivy",
|
|
120
|
+
"tenacity",
|
|
121
|
+
"tiktoken",
|
|
122
|
+
"unstructured[local-inference,all-docs]",
|
|
123
|
+
"xlwings"
|
|
124
|
+
]
|
|
125
|
+
langchain = [
|
|
126
|
+
"langchain",
|
|
127
|
+
"langchain_experimental",
|
|
128
|
+
"langchain-community",
|
|
129
|
+
"langsmith"
|
|
130
|
+
]
|
|
131
|
+
azure = [
|
|
132
|
+
"azure-identity",
|
|
133
|
+
"azure-storage-blob"
|
|
134
|
+
]
|
|
135
|
+
cli = [
|
|
136
|
+
"jsonschema>=4.21.1",
|
|
137
|
+
"rich"
|
|
138
|
+
]
|
|
139
|
+
database = [
|
|
140
|
+
"asyncpg",
|
|
141
|
+
"supabase",
|
|
142
|
+
"sqlalchemy",
|
|
143
|
+
"pg8000",
|
|
144
|
+
"pgvector",
|
|
145
|
+
"psycopg2-binary",
|
|
146
|
+
"lancedb",
|
|
147
|
+
"tantivy"
|
|
148
|
+
]
|
|
149
|
+
pipeline = [
|
|
150
|
+
"GitPython",
|
|
151
|
+
"lark",
|
|
152
|
+
"langchain>=0.2.16",
|
|
153
|
+
"langchain-unstructured",
|
|
154
|
+
"psutil",
|
|
155
|
+
"pypdf",
|
|
156
|
+
"pytesseract",
|
|
157
|
+
"tabulate",
|
|
158
|
+
"unstructured[local-inference,all-docs]"
|
|
159
|
+
]
|
|
160
|
+
gcp = [
|
|
161
|
+
"anthropic[vertex]",
|
|
162
|
+
"google-api-python-client",
|
|
163
|
+
"google-auth-httplib2",
|
|
164
|
+
"google-auth-oauthlib",
|
|
165
|
+
"google-cloud-alloydb-connector[pg8000]",
|
|
166
|
+
"google-cloud-aiplatform>=1.58.0",
|
|
167
|
+
"google-cloud-bigquery",
|
|
168
|
+
"google-cloud-build",
|
|
169
|
+
"google-cloud-service-control",
|
|
170
|
+
"google-cloud-storage",
|
|
171
|
+
"google-cloud-logging",
|
|
172
|
+
"google-cloud-pubsub",
|
|
173
|
+
"google-cloud-discoveryengine",
|
|
174
|
+
"google-cloud-texttospeech",
|
|
175
|
+
"google-genai",
|
|
176
|
+
"google-generativeai>=0.8.3",
|
|
177
|
+
"langchain-google-genai>=2.0.0",
|
|
178
|
+
"langchain_google_alloydb_pg>=0.2.2",
|
|
179
|
+
"langchain-google-vertexai",
|
|
180
|
+
"pillow"
|
|
181
|
+
]
|
|
182
|
+
openai = [
|
|
183
|
+
"langchain-openai==0.1.25",
|
|
184
|
+
"tiktoken"
|
|
185
|
+
]
|
|
186
|
+
anthropic = [
|
|
187
|
+
"langchain-anthropic>=0.1.23",
|
|
188
|
+
"mcp"
|
|
189
|
+
]
|
|
190
|
+
tools = [
|
|
191
|
+
"openapi-spec-validator",
|
|
192
|
+
"playwright"
|
|
193
|
+
]
|
|
194
|
+
http = [
|
|
195
|
+
"fastapi",
|
|
196
|
+
"flask",
|
|
197
|
+
"gunicorn",
|
|
198
|
+
"httpcore",
|
|
199
|
+
"httpx",
|
|
200
|
+
"langfuse",
|
|
201
|
+
"python-socketio",
|
|
202
|
+
"requests",
|
|
203
|
+
"tenacity"
|
|
204
|
+
]
|
|
205
|
+
excel = [
|
|
206
|
+
"xlwings",
|
|
207
|
+
"requests",
|
|
208
|
+
"rich"
|
|
209
|
+
]
|
|
210
|
+
iac = ["python-hcl2"]
|
|
211
|
+
tts = [
|
|
212
|
+
"google-cloud-texttospeech",
|
|
213
|
+
"numpy",
|
|
214
|
+
"sounddevice"
|
|
215
|
+
]
|
|
216
|
+
video = ["opencv-python"]
|
|
@@ -2,7 +2,7 @@ from ..custom_logging import log
|
|
|
2
2
|
from ..pubsub import PubSubManager
|
|
3
3
|
from ..utils.parsers import contains_url, extract_urls
|
|
4
4
|
from ..utils.gcp_project import get_gcp_project
|
|
5
|
-
from ..
|
|
5
|
+
from ..langchain_types import Document
|
|
6
6
|
|
|
7
7
|
def publish_if_urls(the_content, vector_name):
|
|
8
8
|
"""
|
|
@@ -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
|