sunholo 0.143.16__tar.gz → 0.144.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.143.16/src/sunholo.egg-info → sunholo-0.144.1}/PKG-INFO +12 -10
- {sunholo-0.143.16 → sunholo-0.144.1}/pyproject.toml +12 -10
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/dispatch_to_qa.py +16 -2
- sunholo-0.144.1/src/sunholo/agents/fastapi/__init__.py +3 -0
- sunholo-0.144.1/src/sunholo/agents/fastapi/vac_routes.py +1042 -0
- sunholo-0.144.1/src/sunholo/mcp/cli.py +22 -0
- sunholo-0.144.1/src/sunholo/mcp/cli_fastmcp.py +201 -0
- sunholo-0.144.1/src/sunholo/mcp/vac_mcp_server.py +23 -0
- sunholo-0.144.1/src/sunholo/mcp/vac_mcp_server_fastmcp.py +193 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/streaming/streaming.py +26 -6
- {sunholo-0.143.16 → sunholo-0.144.1/src/sunholo.egg-info}/PKG-INFO +12 -10
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo.egg-info/SOURCES.txt +6 -1
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo.egg-info/requires.txt +11 -8
- sunholo-0.144.1/tests/test_vac_routes_fastapi.py +226 -0
- sunholo-0.144.1/tests/test_vac_routes_mcp.py +322 -0
- sunholo-0.143.16/src/sunholo/agents/fastapi/__init__.py +0 -2
- sunholo-0.143.16/src/sunholo/mcp/cli.py +0 -338
- sunholo-0.143.16/src/sunholo/mcp/vac_mcp_server.py +0 -266
- {sunholo-0.143.16 → sunholo-0.144.1}/LICENSE.txt +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/MANIFEST.in +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/README.md +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/setup.cfg +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/a2a/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/a2a/agent_card.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/a2a/task_manager.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/a2a/vac_a2a_agent.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/langserve.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/route.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/agents/swagger.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/archive/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/archive/archive.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/auth/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/auth/refresh.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/auth/run.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/azure/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/azure/auth.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/azure/blobs.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/bots/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/bots/discord.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/bots/webapp.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/azure.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/images.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/publish.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/cli.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/configs.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/deploy.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/embedder.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/swagger.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/cli/vertex.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/components/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/components/llm.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/components/retriever.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/custom_logging.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/alloydb.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/database.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/lancedb.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/database/uuid.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/discovery_engine/cli.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/embedder/embed_metadata.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/excel/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/excel/plugin.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/gcs/download_gcs_text.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/gcs/extract_and_sign.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/genai/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/genai/file_handling.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/genai/genaiv2.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/genai/images.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/genai/init.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/genai/process_funcs_cls.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/genai/safety.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/invoke/async_class.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/langchain_types.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/langfuse/evals.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/mcp/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/mcp/mcp_manager.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/mcp/stdio_http_bridge.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/ollama/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/ollama/ollama_images.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/qna/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/qna/parsers.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/qna/retry.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/senses/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/senses/stream_voice.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/agent/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/agent/agent_service.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/agent/app.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/agent/my_log.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/agent/tools/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/agent/tools/your_agent.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/agent/vac_service.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/project/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/project/app.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/project/my_log.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/project/vac_service.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/system_services/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/system_services/app.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/templates/system_services/my_log.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/terraform/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/terraform/tfvars_editor.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/tools/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/api_key.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/big_context.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/config.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/config_class.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/gcp.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/mime.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/parsers.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/proto_convert.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/utils/version.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/vertex/init.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/vertex/safety.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/src/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/tests/test_async.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/tests/test_async_genai2.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/tests/test_chat_history.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/tests/test_config.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/tests/test_genai2.py +0 -0
- {sunholo-0.143.16 → sunholo-0.144.1}/tests/test_unstructured.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: sunholo
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.144.1
|
4
4
|
Summary: AI DevOps - a package to help deploy GenAI to the Cloud.
|
5
5
|
Author-email: Holosun ApS <multivac@sunholo.com>
|
6
6
|
License: Apache License, Version 2.0
|
@@ -12,26 +12,22 @@ Classifier: Intended Audience :: Developers
|
|
12
12
|
Classifier: Topic :: Software Development :: Build Tools
|
13
13
|
Classifier: License :: OSI Approved :: Apache Software License
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
15
|
-
Classifier: Programming Language :: Python :: 3.10
|
16
15
|
Classifier: Programming Language :: Python :: 3.11
|
17
16
|
Classifier: Programming Language :: Python :: 3.12
|
18
17
|
Requires-Python: >=3.11
|
19
18
|
Description-Content-Type: text/markdown
|
20
19
|
License-File: LICENSE.txt
|
21
|
-
Requires-Dist: a2a-python>=0.0.1
|
22
|
-
Requires-Dist: aiohttp
|
23
|
-
Requires-Dist: flask>=3.1.0
|
24
20
|
Requires-Dist: google-auth
|
25
|
-
Requires-Dist: mcp>=1.1.1
|
26
21
|
Requires-Dist: pydantic
|
27
|
-
Requires-Dist: pytest-asyncio>=1.0.0
|
28
22
|
Requires-Dist: requests
|
29
23
|
Requires-Dist: ruamel.yaml
|
30
24
|
Requires-Dist: tenacity
|
31
25
|
Provides-Extra: test
|
32
26
|
Requires-Dist: pytest; extra == "test"
|
27
|
+
Requires-Dist: pytest-asyncio>=1.0.0; extra == "test"
|
33
28
|
Requires-Dist: pytest-cov; extra == "test"
|
34
29
|
Provides-Extra: all
|
30
|
+
Requires-Dist: a2a-python>=0.0.1; extra == "all"
|
35
31
|
Requires-Dist: aiofiles; extra == "all"
|
36
32
|
Requires-Dist: aiohttp; extra == "all"
|
37
33
|
Requires-Dist: anthropic[vertex]; extra == "all"
|
@@ -39,7 +35,8 @@ Requires-Dist: asyncpg; extra == "all"
|
|
39
35
|
Requires-Dist: azure-identity; extra == "all"
|
40
36
|
Requires-Dist: azure-storage-blob; extra == "all"
|
41
37
|
Requires-Dist: fastapi; extra == "all"
|
42
|
-
Requires-Dist:
|
38
|
+
Requires-Dist: fastmcp>=2.12.0; extra == "all"
|
39
|
+
Requires-Dist: flask>=3.1.0; extra == "all"
|
43
40
|
Requires-Dist: google-auth; extra == "all"
|
44
41
|
Requires-Dist: google-auth-httplib2; extra == "all"
|
45
42
|
Requires-Dist: google-auth-oauthlib; extra == "all"
|
@@ -82,6 +79,9 @@ Requires-Dist: psutil; extra == "all"
|
|
82
79
|
Requires-Dist: psycopg2-binary; extra == "all"
|
83
80
|
Requires-Dist: pydantic; extra == "all"
|
84
81
|
Requires-Dist: pypdf; extra == "all"
|
82
|
+
Requires-Dist: pytest; extra == "all"
|
83
|
+
Requires-Dist: pytest-asyncio>=1.0.0; extra == "all"
|
84
|
+
Requires-Dist: pytest-cov; extra == "all"
|
85
85
|
Requires-Dist: python-hcl2; extra == "all"
|
86
86
|
Requires-Dist: python-socketio; extra == "all"
|
87
87
|
Requires-Dist: pytesseract; extra == "all"
|
@@ -127,7 +127,7 @@ Requires-Dist: pytesseract; extra == "pipeline"
|
|
127
127
|
Requires-Dist: tabulate; extra == "pipeline"
|
128
128
|
Requires-Dist: unstructured[all-docs,local-inference]; extra == "pipeline"
|
129
129
|
Provides-Extra: gcp
|
130
|
-
Requires-Dist: a2a-python; extra == "gcp"
|
130
|
+
Requires-Dist: a2a-python>=0.0.1; extra == "gcp"
|
131
131
|
Requires-Dist: aiofiles; extra == "gcp"
|
132
132
|
Requires-Dist: anthropic[vertex]; extra == "gcp"
|
133
133
|
Requires-Dist: google-api-python-client; extra == "gcp"
|
@@ -157,14 +157,16 @@ Provides-Extra: openai
|
|
157
157
|
Requires-Dist: langchain-openai>=0.3.2; extra == "openai"
|
158
158
|
Requires-Dist: tiktoken; extra == "openai"
|
159
159
|
Provides-Extra: anthropic
|
160
|
+
Requires-Dist: fastmcp>=2.12.0; extra == "anthropic"
|
160
161
|
Requires-Dist: langchain-anthropic>=0.1.23; extra == "anthropic"
|
161
162
|
Requires-Dist: mcp>=1.1.1; extra == "anthropic"
|
162
163
|
Provides-Extra: tools
|
163
164
|
Requires-Dist: openapi-spec-validator; extra == "tools"
|
164
165
|
Requires-Dist: playwright; extra == "tools"
|
165
166
|
Provides-Extra: http
|
167
|
+
Requires-Dist: aiohttp; extra == "http"
|
166
168
|
Requires-Dist: fastapi; extra == "http"
|
167
|
-
Requires-Dist: flask; extra == "http"
|
169
|
+
Requires-Dist: flask>=3.1.0; extra == "http"
|
168
170
|
Requires-Dist: gunicorn; extra == "http"
|
169
171
|
Requires-Dist: httpcore; extra == "http"
|
170
172
|
Requires-Dist: httpx; extra == "http"
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "sunholo"
|
7
|
-
version = "0.
|
7
|
+
version = "0.144.1"
|
8
8
|
description = "AI DevOps - a package to help deploy GenAI to the Cloud."
|
9
9
|
readme = "README.md"
|
10
10
|
requires-python = ">=3.11"
|
@@ -19,19 +19,13 @@ classifiers = [
|
|
19
19
|
"Topic :: Software Development :: Build Tools",
|
20
20
|
"License :: OSI Approved :: Apache Software License",
|
21
21
|
"Programming Language :: Python :: 3",
|
22
|
-
"Programming Language :: Python :: 3.10",
|
23
22
|
"Programming Language :: Python :: 3.11",
|
24
23
|
"Programming Language :: Python :: 3.12",
|
25
24
|
]
|
26
25
|
|
27
26
|
dependencies = [
|
28
|
-
"a2a-python>=0.0.1",
|
29
|
-
"aiohttp",
|
30
|
-
"flask>=3.1.0",
|
31
27
|
"google-auth",
|
32
|
-
"mcp>=1.1.1",
|
33
28
|
"pydantic",
|
34
|
-
"pytest-asyncio>=1.0.0",
|
35
29
|
"requests",
|
36
30
|
"ruamel.yaml",
|
37
31
|
"tenacity",
|
@@ -59,10 +53,12 @@ include = ["*"]
|
|
59
53
|
[project.optional-dependencies]
|
60
54
|
test = [
|
61
55
|
"pytest",
|
56
|
+
"pytest-asyncio>=1.0.0",
|
62
57
|
"pytest-cov",
|
63
58
|
# any other test dependencies
|
64
59
|
]
|
65
60
|
all = [
|
61
|
+
"a2a-python>=0.0.1",
|
66
62
|
"aiofiles",
|
67
63
|
"aiohttp",
|
68
64
|
"anthropic[vertex]",
|
@@ -70,7 +66,8 @@ all = [
|
|
70
66
|
"azure-identity",
|
71
67
|
"azure-storage-blob",
|
72
68
|
"fastapi",
|
73
|
-
"
|
69
|
+
"fastmcp>=2.12.0",
|
70
|
+
"flask>=3.1.0",
|
74
71
|
"google-auth",
|
75
72
|
"google-auth-httplib2",
|
76
73
|
"google-auth-oauthlib",
|
@@ -113,6 +110,9 @@ all = [
|
|
113
110
|
"psycopg2-binary",
|
114
111
|
"pydantic",
|
115
112
|
"pypdf",
|
113
|
+
"pytest",
|
114
|
+
"pytest-asyncio>=1.0.0",
|
115
|
+
"pytest-cov",
|
116
116
|
"python-hcl2",
|
117
117
|
"python-socketio",
|
118
118
|
"pytesseract",
|
@@ -164,7 +164,7 @@ pipeline = [
|
|
164
164
|
"unstructured[local-inference,all-docs]"
|
165
165
|
]
|
166
166
|
gcp = [
|
167
|
-
"a2a-python",
|
167
|
+
"a2a-python>=0.0.1",
|
168
168
|
"aiofiles",
|
169
169
|
"anthropic[vertex]",
|
170
170
|
"google-api-python-client",
|
@@ -197,6 +197,7 @@ openai = [
|
|
197
197
|
"tiktoken"
|
198
198
|
]
|
199
199
|
anthropic = [
|
200
|
+
"fastmcp>=2.12.0",
|
200
201
|
"langchain-anthropic>=0.1.23",
|
201
202
|
"mcp>=1.1.1"
|
202
203
|
]
|
@@ -205,8 +206,9 @@ tools = [
|
|
205
206
|
"playwright"
|
206
207
|
]
|
207
208
|
http = [
|
209
|
+
"aiohttp",
|
208
210
|
"fastapi",
|
209
|
-
"flask",
|
211
|
+
"flask>=3.1.0",
|
210
212
|
"gunicorn",
|
211
213
|
"httpcore",
|
212
214
|
"httpx",
|
@@ -15,12 +15,17 @@ from ..custom_logging import log
|
|
15
15
|
from ..utils import ConfigManager
|
16
16
|
from ..auth import get_header
|
17
17
|
import requests
|
18
|
-
import aiohttp
|
19
18
|
from .langserve import prepare_request_data
|
20
19
|
import traceback
|
21
20
|
from .route import route_endpoint
|
22
21
|
import os
|
23
22
|
|
23
|
+
try:
|
24
|
+
import aiohttp
|
25
|
+
AIOHTTP_AVAILABLE = True
|
26
|
+
except ImportError:
|
27
|
+
AIOHTTP_AVAILABLE = False
|
28
|
+
|
24
29
|
|
25
30
|
def prep_request_payload(user_input, chat_history, vector_name, stream, **kwargs):
|
26
31
|
"""
|
@@ -177,7 +182,16 @@ async def send_to_qa_async(user_input, vector_name, chat_history, stream=False,
|
|
177
182
|
async for response_chunk in send_to_qa_async("What is AI?", "my_vector", []):
|
178
183
|
print(response_chunk)
|
179
184
|
```
|
180
|
-
|
185
|
+
|
186
|
+
Raises:
|
187
|
+
ImportError: If aiohttp is not installed.
|
188
|
+
"""
|
189
|
+
if not AIOHTTP_AVAILABLE:
|
190
|
+
raise ImportError(
|
191
|
+
"aiohttp is required for async operations. "
|
192
|
+
"Install it with: pip install aiohttp or pip install sunholo[http]"
|
193
|
+
)
|
194
|
+
|
181
195
|
qna_endpoint, qna_data = prep_request_payload(user_input, chat_history, vector_name, stream, **kwargs)
|
182
196
|
header = get_header(vector_name)
|
183
197
|
header = add_header_ids(header, **kwargs)
|