From 1e1b17830613cf357dd17dd52d4cf25e30cb8a58 Mon Sep 17 00:00:00 2001 From: HaystackBot Date: Thu, 17 Oct 2024 14:07:47 +0000 Subject: [PATCH 1/3] Update the changelog --- integrations/amazon_bedrock/CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/integrations/amazon_bedrock/CHANGELOG.md b/integrations/amazon_bedrock/CHANGELOG.md index 43ab788d3..de3647acc 100644 --- a/integrations/amazon_bedrock/CHANGELOG.md +++ b/integrations/amazon_bedrock/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [integrations/amazon_bedrock-v1.0.5] - 2024-10-17 + +### 🚀 Features + +- Add prefixes to supported model patterns to allow cross region model ids (#1127) + ## [integrations/amazon_bedrock-v1.0.4] - 2024-10-16 ### 🐛 Bug Fixes From 2f12690ba6fae91168992ddaffc0a228ee49bc79 Mon Sep 17 00:00:00 2001 From: Amna Mubashar Date: Thu, 17 Oct 2024 16:21:26 +0200 Subject: [PATCH 2/3] fix: make "project-id" parameter optional during initialization (#1141) * Make project-id param optional --- .../generators/google_vertex/chat/gemini.py | 6 +++--- .../generators/google_vertex/gemini.py | 6 +++--- .../google_vertex/tests/chat/test_gemini.py | 19 +++++++++-------- .../google_vertex/tests/test_gemini.py | 21 +++++++++++-------- 4 files changed, 28 insertions(+), 24 deletions(-) diff --git a/integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/chat/gemini.py b/integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/chat/gemini.py index f09692daf..c52f76dc6 100644 --- a/integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/chat/gemini.py +++ b/integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/chat/gemini.py @@ -36,7 +36,7 @@ class VertexAIGeminiChatGenerator: from haystack.dataclasses import ChatMessage from haystack_integrations.components.generators.google_vertex import VertexAIGeminiChatGenerator - gemini_chat = VertexAIGeminiChatGenerator(project_id=project_id) + gemini_chat = VertexAIGeminiChatGenerator() messages = [ChatMessage.from_user("Tell me the name of a movie")] res = gemini_chat.run(messages) @@ -50,7 +50,7 @@ def __init__( self, *, model: str = "gemini-1.5-flash", - project_id: str, + project_id: Optional[str] = None, location: Optional[str] = None, generation_config: Optional[Union[GenerationConfig, Dict[str, Any]]] = None, safety_settings: Optional[Dict[HarmCategory, HarmBlockThreshold]] = None, @@ -65,7 +65,7 @@ def __init__( Authenticates using Google Cloud Application Default Credentials (ADCs). For more information see the official [Google documentation](https://cloud.google.com/docs/authentication/provide-credentials-adc). - :param project_id: ID of the GCP project to use. + :param project_id: ID of the GCP project to use. By default, it is set during Google Cloud authentication. :param model: Name of the model to use. For available models, see https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models. :param location: The default location to use when making API calls, if not set uses us-central-1. Defaults to None. diff --git a/integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/gemini.py b/integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/gemini.py index 2b1c1b477..737f2e668 100644 --- a/integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/gemini.py +++ b/integrations/google_vertex/src/haystack_integrations/components/generators/google_vertex/gemini.py @@ -32,7 +32,7 @@ class VertexAIGeminiGenerator: from haystack_integrations.components.generators.google_vertex import VertexAIGeminiGenerator - gemini = VertexAIGeminiGenerator(project_id=project_id) + gemini = VertexAIGeminiGenerator() result = gemini.run(parts = ["What is the most interesting thing you know?"]) for answer in result["replies"]: print(answer) @@ -54,7 +54,7 @@ def __init__( self, *, model: str = "gemini-1.5-flash", - project_id: str, + project_id: Optional[str] = None, location: Optional[str] = None, generation_config: Optional[Union[GenerationConfig, Dict[str, Any]]] = None, safety_settings: Optional[Dict[HarmCategory, HarmBlockThreshold]] = None, @@ -69,7 +69,7 @@ def __init__( Authenticates using Google Cloud Application Default Credentials (ADCs). For more information see the official [Google documentation](https://cloud.google.com/docs/authentication/provide-credentials-adc). - :param project_id: ID of the GCP project to use. + :param project_id: ID of the GCP project to use. By default, it is set during Google Cloud authentication. :param model: Name of the model to use. For available models, see https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models. :param location: The default location to use when making API calls, if not set uses us-central-1. :param generation_config: The generation config to use. diff --git a/integrations/google_vertex/tests/chat/test_gemini.py b/integrations/google_vertex/tests/chat/test_gemini.py index 6b1308dab..0d77bd9c6 100644 --- a/integrations/google_vertex/tests/chat/test_gemini.py +++ b/integrations/google_vertex/tests/chat/test_gemini.py @@ -90,14 +90,12 @@ def test_init(mock_vertexai_init, _mock_generative_model): @patch("haystack_integrations.components.generators.google_vertex.chat.gemini.GenerativeModel") def test_to_dict(_mock_vertexai_init, _mock_generative_model): - gemini = VertexAIGeminiChatGenerator( - project_id="TestID123", - ) + gemini = VertexAIGeminiChatGenerator() assert gemini.to_dict() == { "type": "haystack_integrations.components.generators.google_vertex.chat.gemini.VertexAIGeminiChatGenerator", "init_parameters": { "model": "gemini-1.5-flash", - "project_id": "TestID123", + "project_id": None, "location": None, "generation_config": None, "safety_settings": None, @@ -132,6 +130,7 @@ def test_to_dict_with_params(_mock_vertexai_init, _mock_generative_model): gemini = VertexAIGeminiChatGenerator( project_id="TestID123", + location="TestLocation", generation_config=generation_config, safety_settings=safety_settings, tools=[tool], @@ -144,7 +143,7 @@ def test_to_dict_with_params(_mock_vertexai_init, _mock_generative_model): "init_parameters": { "model": "gemini-1.5-flash", "project_id": "TestID123", - "location": None, + "location": "TestLocation", "generation_config": { "temperature": 0.5, "top_p": 0.5, @@ -194,7 +193,7 @@ def test_from_dict(_mock_vertexai_init, _mock_generative_model): { "type": "haystack_integrations.components.generators.google_vertex.chat.gemini.VertexAIGeminiChatGenerator", "init_parameters": { - "project_id": "TestID123", + "project_id": None, "model": "gemini-1.5-flash", "generation_config": None, "safety_settings": None, @@ -205,7 +204,7 @@ def test_from_dict(_mock_vertexai_init, _mock_generative_model): ) assert gemini._model_name == "gemini-1.5-flash" - assert gemini._project_id == "TestID123" + assert gemini._project_id is None assert gemini._safety_settings is None assert gemini._tools is None assert gemini._tool_config is None @@ -221,6 +220,7 @@ def test_from_dict_with_param(_mock_vertexai_init, _mock_generative_model): "type": "haystack_integrations.components.generators.google_vertex.chat.gemini.VertexAIGeminiChatGenerator", "init_parameters": { "project_id": "TestID123", + "location": "TestLocation", "model": "gemini-1.5-flash", "generation_config": { "temperature": 0.5, @@ -272,6 +272,7 @@ def test_from_dict_with_param(_mock_vertexai_init, _mock_generative_model): assert gemini._model_name == "gemini-1.5-flash" assert gemini._project_id == "TestID123" + assert gemini._location == "TestLocation" assert gemini._safety_settings == {HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_ONLY_HIGH} assert repr(gemini._tools) == repr([Tool(function_declarations=[GET_CURRENT_WEATHER_FUNC])]) assert isinstance(gemini._tool_config, ToolConfig) @@ -296,7 +297,7 @@ def test_run(mock_generative_model): ChatMessage.from_system("You are a helpful assistant"), ChatMessage.from_user("What's the capital of France?"), ] - gemini = VertexAIGeminiChatGenerator(project_id="TestID123", location=None) + gemini = VertexAIGeminiChatGenerator() response = gemini.run(messages=messages) mock_model.send_message.assert_called_once() @@ -321,7 +322,7 @@ def streaming_callback(_chunk: StreamingChunk) -> None: nonlocal streaming_callback_called streaming_callback_called = True - gemini = VertexAIGeminiChatGenerator(project_id="TestID123", location=None, streaming_callback=streaming_callback) + gemini = VertexAIGeminiChatGenerator(streaming_callback=streaming_callback) messages = [ ChatMessage.from_system("You are a helpful assistant"), ChatMessage.from_user("What's the capital of France?"), diff --git a/integrations/google_vertex/tests/test_gemini.py b/integrations/google_vertex/tests/test_gemini.py index 9ec3529d7..b3d6dd5f5 100644 --- a/integrations/google_vertex/tests/test_gemini.py +++ b/integrations/google_vertex/tests/test_gemini.py @@ -78,14 +78,12 @@ def test_init(mock_vertexai_init, _mock_generative_model): @patch("haystack_integrations.components.generators.google_vertex.gemini.GenerativeModel") def test_to_dict(_mock_vertexai_init, _mock_generative_model): - gemini = VertexAIGeminiGenerator( - project_id="TestID123", - ) + gemini = VertexAIGeminiGenerator() assert gemini.to_dict() == { "type": "haystack_integrations.components.generators.google_vertex.gemini.VertexAIGeminiGenerator", "init_parameters": { "model": "gemini-1.5-flash", - "project_id": "TestID123", + "project_id": None, "location": None, "generation_config": None, "safety_settings": None, @@ -120,6 +118,7 @@ def test_to_dict_with_params(_mock_vertexai_init, _mock_generative_model): gemini = VertexAIGeminiGenerator( project_id="TestID123", + location="TestLocation", generation_config=generation_config, safety_settings=safety_settings, tools=[tool], @@ -131,7 +130,7 @@ def test_to_dict_with_params(_mock_vertexai_init, _mock_generative_model): "init_parameters": { "model": "gemini-1.5-flash", "project_id": "TestID123", - "location": None, + "location": "TestLocation", "generation_config": { "temperature": 0.5, "top_p": 0.5, @@ -181,7 +180,8 @@ def test_from_dict(_mock_vertexai_init, _mock_generative_model): { "type": "haystack_integrations.components.generators.google_vertex.gemini.VertexAIGeminiGenerator", "init_parameters": { - "project_id": "TestID123", + "project_id": None, + "location": None, "model": "gemini-1.5-flash", "generation_config": None, "safety_settings": None, @@ -194,7 +194,8 @@ def test_from_dict(_mock_vertexai_init, _mock_generative_model): ) assert gemini._model_name == "gemini-1.5-flash" - assert gemini._project_id == "TestID123" + assert gemini._project_id is None + assert gemini._location is None assert gemini._safety_settings is None assert gemini._tools is None assert gemini._tool_config is None @@ -210,6 +211,7 @@ def test_from_dict_with_param(_mock_vertexai_init, _mock_generative_model): "type": "haystack_integrations.components.generators.google_vertex.gemini.VertexAIGeminiGenerator", "init_parameters": { "project_id": "TestID123", + "location": "TestLocation", "model": "gemini-1.5-flash", "generation_config": { "temperature": 0.5, @@ -261,6 +263,7 @@ def test_from_dict_with_param(_mock_vertexai_init, _mock_generative_model): assert gemini._model_name == "gemini-1.5-flash" assert gemini._project_id == "TestID123" + assert gemini._location == "TestLocation" assert gemini._safety_settings == {HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_ONLY_HIGH} assert repr(gemini._tools) == repr([Tool(function_declarations=[GET_CURRENT_WEATHER_FUNC])]) assert isinstance(gemini._generation_config, GenerationConfig) @@ -277,7 +280,7 @@ def test_run(mock_generative_model): mock_model.generate_content.return_value = MagicMock() mock_generative_model.return_value = mock_model - gemini = VertexAIGeminiGenerator(project_id="TestID123", location=None) + gemini = VertexAIGeminiGenerator() response = gemini.run(["What's the weather like today?"]) @@ -303,7 +306,7 @@ def streaming_callback(_chunk: StreamingChunk) -> None: nonlocal streaming_callback_called streaming_callback_called = True - gemini = VertexAIGeminiGenerator(model="gemini-pro", project_id="TestID123", streaming_callback=streaming_callback) + gemini = VertexAIGeminiGenerator(model="gemini-pro", streaming_callback=streaming_callback) gemini.run(["Come on, stream!"]) assert streaming_callback_called From f166d91e068136fa8ae21b1755d34ae06fa0107e Mon Sep 17 00:00:00 2001 From: Stefano Fiorucci Date: Fri, 18 Oct 2024 12:49:13 +0200 Subject: [PATCH 3/3] ci: adopt uv as installer (#1142) * try uv * pip for typing * fix docs generation * fix weaviate * revert weaviate change * no setuptools * try to see if nightly with Haystack main works * trigger * fix instructor embedders * Fix formatting in integrations/chroma/pyproject.toml --------- Co-authored-by: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com> --- integrations/amazon_bedrock/pyproject.toml | 4 +++- integrations/amazon_sagemaker/pyproject.toml | 4 +++- integrations/anthropic/pyproject.toml | 4 +++- integrations/astra/pyproject.toml | 4 +++- integrations/chroma/pyproject.toml | 3 +++ integrations/cohere/pyproject.toml | 4 +++- integrations/deepeval/pyproject.toml | 4 +++- integrations/elasticsearch/pyproject.toml | 4 +++- integrations/fastembed/pyproject.toml | 4 +++- integrations/google_ai/pyproject.toml | 4 +++- integrations/google_vertex/pyproject.toml | 4 +++- integrations/instructor_embedders/pyproject.toml | 5 ++++- integrations/jina/pyproject.toml | 4 +++- integrations/langfuse/pyproject.toml | 4 +++- integrations/llama_cpp/pyproject.toml | 4 +++- integrations/mistral/pyproject.toml | 4 +++- integrations/mongodb_atlas/pyproject.toml | 4 +++- integrations/nvidia/pyproject.toml | 4 +++- integrations/ollama/pyproject.toml | 4 +++- integrations/opensearch/pyproject.toml | 4 +++- integrations/optimum/pyproject.toml | 4 +++- integrations/pgvector/pyproject.toml | 4 +++- integrations/pinecone/pyproject.toml | 4 +++- integrations/qdrant/pyproject.toml | 4 +++- integrations/ragas/pyproject.toml | 4 +++- integrations/snowflake/pyproject.toml | 4 +++- integrations/unstructured/pyproject.toml | 4 +++- integrations/weaviate/pyproject.toml | 4 +++- 28 files changed, 85 insertions(+), 27 deletions(-) diff --git a/integrations/amazon_bedrock/pyproject.toml b/integrations/amazon_bedrock/pyproject.toml index 1298abfab..872d4933b 100644 --- a/integrations/amazon_bedrock/pyproject.toml +++ b/integrations/amazon_bedrock/pyproject.toml @@ -42,6 +42,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/amazon_bedrock-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -60,8 +61,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/amazon_sagemaker/pyproject.toml b/integrations/amazon_sagemaker/pyproject.toml index a25b806f6..219b4c2df 100644 --- a/integrations/amazon_sagemaker/pyproject.toml +++ b/integrations/amazon_sagemaker/pyproject.toml @@ -45,6 +45,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/amazon_sagemaker-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -65,8 +66,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/anthropic/pyproject.toml b/integrations/anthropic/pyproject.toml index 987f017be..21e23fbb4 100644 --- a/integrations/anthropic/pyproject.toml +++ b/integrations/anthropic/pyproject.toml @@ -42,6 +42,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/anthropic-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -60,8 +61,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/astra/pyproject.toml b/integrations/astra/pyproject.toml index 25bcf20b8..f9e8fe982 100644 --- a/integrations/astra/pyproject.toml +++ b/integrations/astra/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/astra-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -59,8 +60,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/chroma/pyproject.toml b/integrations/chroma/pyproject.toml index 27b204432..7f0943a30 100644 --- a/integrations/chroma/pyproject.toml +++ b/integrations/chroma/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/chroma-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -61,8 +62,10 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.9", "3.10"] [tool.hatch.envs.lint] +installer = "uv" detached = true dependencies = [ + "pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243", diff --git a/integrations/cohere/pyproject.toml b/integrations/cohere/pyproject.toml index d86165668..262b1612d 100644 --- a/integrations/cohere/pyproject.toml +++ b/integrations/cohere/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/cohere-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -60,8 +61,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = [ diff --git a/integrations/deepeval/pyproject.toml b/integrations/deepeval/pyproject.toml index 5d81fa0a5..6ef64387b 100644 --- a/integrations/deepeval/pyproject.toml +++ b/integrations/deepeval/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/deepeval-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = ["coverage[toml]>=6.5", "pytest", "pytest-rerunfailures", "haystack-pydoc-tools"] [tool.hatch.envs.default.scripts] test = "pytest {args:tests}" @@ -55,8 +56,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive {args:src/}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/elasticsearch/pyproject.toml b/integrations/elasticsearch/pyproject.toml index 47b168f30..8bf01cc65 100644 --- a/integrations/elasticsearch/pyproject.toml +++ b/integrations/elasticsearch/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/elasticsearch-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -61,8 +62,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:}", "black --check --diff {args:.}"] diff --git a/integrations/fastembed/pyproject.toml b/integrations/fastembed/pyproject.toml index 69aba5562..8686c9e7a 100644 --- a/integrations/fastembed/pyproject.toml +++ b/integrations/fastembed/pyproject.toml @@ -42,6 +42,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/fastembed-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -62,8 +63,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243", "numpy"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243", "numpy"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/google_ai/pyproject.toml b/integrations/google_ai/pyproject.toml index 88fbcd61c..9a4a070e7 100644 --- a/integrations/google_ai/pyproject.toml +++ b/integrations/google_ai/pyproject.toml @@ -40,6 +40,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/google_ai-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -58,8 +59,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/google_vertex/pyproject.toml b/integrations/google_vertex/pyproject.toml index 51bc4ffd7..d8b7b3408 100644 --- a/integrations/google_vertex/pyproject.toml +++ b/integrations/google_vertex/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/google_vertex-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -59,8 +60,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/instructor_embedders/pyproject.toml b/integrations/instructor_embedders/pyproject.toml index 458c0ae0c..e165aa10d 100644 --- a/integrations/instructor_embedders/pyproject.toml +++ b/integrations/instructor_embedders/pyproject.toml @@ -30,6 +30,7 @@ dependencies = [ # Commenting some of them to not interfere with the dependencies of Haystack. #"transformers==4.20.0", "datasets>=2.2.0", + "huggingface_hub<0.26.0", #"pyarrow==8.0.0", "jsonlines", "numpy", @@ -64,6 +65,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/instructor_embedders-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -83,8 +85,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["38", "39", "310", "311"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/jina/pyproject.toml b/integrations/jina/pyproject.toml index cbd8df479..c89eeacb4 100644 --- a/integrations/jina/pyproject.toml +++ b/integrations/jina/pyproject.toml @@ -43,6 +43,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/jina-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = ["coverage[toml]>=6.5", "pytest", "pytest-rerunfailures", "haystack-pydoc-tools"] [tool.hatch.envs.default.scripts] test = "pytest {args:tests}" @@ -58,8 +59,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:}", "black --check --diff {args:.}"] diff --git a/integrations/langfuse/pyproject.toml b/integrations/langfuse/pyproject.toml index 61de4596c..44397b572 100644 --- a/integrations/langfuse/pyproject.toml +++ b/integrations/langfuse/pyproject.toml @@ -42,6 +42,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/langfuse-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -64,8 +65,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/llama_cpp/pyproject.toml b/integrations/llama_cpp/pyproject.toml index acf42d958..a33434e1b 100644 --- a/integrations/llama_cpp/pyproject.toml +++ b/integrations/llama_cpp/pyproject.toml @@ -45,6 +45,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/llama_cpp-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -65,8 +66,9 @@ python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/mistral/pyproject.toml b/integrations/mistral/pyproject.toml index 16f332331..06d02c0aa 100644 --- a/integrations/mistral/pyproject.toml +++ b/integrations/mistral/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/mistral-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -60,8 +61,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = [ diff --git a/integrations/mongodb_atlas/pyproject.toml b/integrations/mongodb_atlas/pyproject.toml index 95ed6c03a..bdf1a2dc1 100644 --- a/integrations/mongodb_atlas/pyproject.toml +++ b/integrations/mongodb_atlas/pyproject.toml @@ -42,6 +42,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/mongodb_atlas-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -62,8 +63,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/nvidia/pyproject.toml b/integrations/nvidia/pyproject.toml index b5c6dd205..7f0048c1b 100644 --- a/integrations/nvidia/pyproject.toml +++ b/integrations/nvidia/pyproject.toml @@ -42,6 +42,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/nvidia-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -62,8 +63,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = [ diff --git a/integrations/ollama/pyproject.toml b/integrations/ollama/pyproject.toml index bc8555140..598d1d214 100644 --- a/integrations/ollama/pyproject.toml +++ b/integrations/ollama/pyproject.toml @@ -46,6 +46,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/ollama-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -66,8 +67,9 @@ python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/opensearch/pyproject.toml b/integrations/opensearch/pyproject.toml index 24f1653bd..54c194470 100644 --- a/integrations/opensearch/pyproject.toml +++ b/integrations/opensearch/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/opensearch-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -63,8 +64,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243", "boto3"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243", "boto3"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:}", "black --check --diff {args:.}"] diff --git a/integrations/optimum/pyproject.toml b/integrations/optimum/pyproject.toml index 305af6042..6149997ed 100644 --- a/integrations/optimum/pyproject.toml +++ b/integrations/optimum/pyproject.toml @@ -54,6 +54,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/optimum-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -76,8 +77,9 @@ python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" diff --git a/integrations/pgvector/pyproject.toml b/integrations/pgvector/pyproject.toml index 014d163bc..3f20dfbb1 100644 --- a/integrations/pgvector/pyproject.toml +++ b/integrations/pgvector/pyproject.toml @@ -42,6 +42,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/pgvector-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -62,8 +63,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/pinecone/pyproject.toml b/integrations/pinecone/pyproject.toml index 3f2e4d6bd..1a19cb2b7 100644 --- a/integrations/pinecone/pyproject.toml +++ b/integrations/pinecone/pyproject.toml @@ -44,6 +44,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/pinecone-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -66,8 +67,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243", "numpy"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243", "numpy"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/qdrant/pyproject.toml b/integrations/qdrant/pyproject.toml index 898fd2dcf..f0e7e7342 100644 --- a/integrations/qdrant/pyproject.toml +++ b/integrations/qdrant/pyproject.toml @@ -44,6 +44,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/qdrant-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = ["coverage[toml]>=6.5", "pytest", "pytest-rerunfailures", "haystack-pydoc-tools"] [tool.hatch.envs.default.scripts] test = "pytest {args:tests}" @@ -58,8 +59,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/ragas/pyproject.toml b/integrations/ragas/pyproject.toml index dd56e35f6..179bcce16 100644 --- a/integrations/ragas/pyproject.toml +++ b/integrations/ragas/pyproject.toml @@ -41,6 +41,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/ragas-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -61,8 +62,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive {args:src/}" style = ["ruff check {args:.}", "black --check --diff {args:.}"] diff --git a/integrations/snowflake/pyproject.toml b/integrations/snowflake/pyproject.toml index 355e9d090..0e089fe79 100644 --- a/integrations/snowflake/pyproject.toml +++ b/integrations/snowflake/pyproject.toml @@ -43,6 +43,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/snowflake-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = ["coverage[toml]>=6.5", "pytest", "pytest-rerunfailures", "haystack-pydoc-tools"] [tool.hatch.envs.default.scripts] test = "pytest {args:tests}" @@ -58,8 +59,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:}", "black --check --diff {args:.}"] diff --git a/integrations/unstructured/pyproject.toml b/integrations/unstructured/pyproject.toml index 88bd463b2..14f58594c 100644 --- a/integrations/unstructured/pyproject.toml +++ b/integrations/unstructured/pyproject.toml @@ -40,6 +40,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/unstructured-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = [ "coverage[toml]>=6.5", "pytest", @@ -60,8 +61,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.9", "3.10", "3.11"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = [ diff --git a/integrations/weaviate/pyproject.toml b/integrations/weaviate/pyproject.toml index 22d3a160d..0e6a0d18d 100644 --- a/integrations/weaviate/pyproject.toml +++ b/integrations/weaviate/pyproject.toml @@ -47,6 +47,7 @@ root = "../.." git_describe_command = 'git describe --tags --match="integrations/weaviate-v[0-9]*"' [tool.hatch.envs.default] +installer = "uv" dependencies = ["coverage[toml]>=6.5", "pytest", "pytest-rerunfailures", "ipython"] [tool.hatch.envs.default.scripts] test = "pytest {args:tests}" @@ -61,8 +62,9 @@ docs = ["pydoc-markdown pydoc/config.yml"] python = ["3.8", "3.9", "3.10", "3.11", "3.12"] [tool.hatch.envs.lint] +installer = "uv" detached = true -dependencies = ["black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] +dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] [tool.hatch.envs.lint.scripts] typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" style = ["ruff check {args:}", "black --check --diff {args:.}"]