From 88f9bc2adcd8e3d3f8e2625488248370281bf961 Mon Sep 17 00:00:00 2001 From: Julian Risch Date: Thu, 15 Oct 2026 09:06:44 +0200 Subject: [PATCH 1/3] test: use Python 3.11 in tests instead of 3.10 haystack-ai main (3.5.0rc0) and the upcoming 3.4.0 require Python >=3.11, so the nightly "run unit tests with Haystack main branch" step fails on every 3.10 leg. Move the minimum tested version to 3.11 in all workflows and the workflow template. llama_stack's push default and coverage gates use 3.12, its minimum version. Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/workflows/CI_docusaurus_sync.yml | 4 ++-- .github/workflows/CI_license_compliance.yml | 2 +- .github/workflows/agent_pack.yml | 12 ++++++------ .github/workflows/aimlapi.yml | 14 +++++++------- .github/workflows/alloydb.yml | 10 +++++----- .github/workflows/amazon_bedrock.yml | 10 +++++----- .github/workflows/amazon_sagemaker.yml | 10 +++++----- .github/workflows/amazon_textract.yml | 10 +++++----- .github/workflows/anthropic.yml | 12 ++++++------ .github/workflows/arangodb.yml | 10 +++++----- .github/workflows/arcadedb.yml | 10 +++++----- .github/workflows/astra.yml | 12 ++++++------ .github/workflows/azure_ai_search.yml | 12 ++++++------ .github/workflows/azure_doc_intelligence.yml | 12 ++++++------ .github/workflows/azure_documentdb.yml | 10 +++++----- .github/workflows/azure_form_recognizer.yml | 12 ++++++------ .github/workflows/brave.yml | 12 ++++++------ .github/workflows/chonkie.yml | 10 +++++----- .github/workflows/chroma.yml | 10 +++++----- .github/workflows/cognee.yml | 12 ++++++------ .github/workflows/cohere.yml | 12 ++++++------ .github/workflows/cometapi.yml | 14 +++++++------- .github/workflows/datadog.yml | 10 +++++----- .github/workflows/ddgs.yml | 12 ++++++------ .github/workflows/deepeval.yml | 12 ++++++------ .github/workflows/docling.yml | 10 +++++----- .github/workflows/docling_serve.yml | 8 ++++---- .github/workflows/dspy.yml | 12 ++++++------ .github/workflows/dynamodb.yml | 10 +++++----- .github/workflows/e2b.yml | 12 ++++++------ .github/workflows/edenai.yml | 14 +++++++------- .github/workflows/elasticsearch.yml | 10 +++++----- .github/workflows/faiss.yml | 12 ++++++------ .github/workflows/falkordb.yml | 10 +++++----- .github/workflows/fastembed.yml | 10 +++++----- .github/workflows/firecrawl.yml | 12 ++++++------ .github/workflows/funasr.yml | 4 ++-- .github/workflows/github.yml | 10 +++++----- .github/workflows/google_drive.yml | 14 +++++++------- .github/workflows/google_genai.yml | 12 ++++++------ .github/workflows/gotenberg.yml | 16 ++++++++-------- .github/workflows/hanlp.yml | 12 ++++++------ .github/workflows/hetzner.yml | 14 +++++++------- .github/workflows/huggingface_api.yml | 14 +++++++------- .github/workflows/ibm_db.yml | 10 +++++----- .github/workflows/jina.yml | 12 ++++++------ .github/workflows/kreuzberg.yml | 10 +++++----- .github/workflows/langdetect.yml | 10 +++++----- .github/workflows/langfuse.yml | 12 ++++++------ .github/workflows/lara.yml | 12 ++++++------ .github/workflows/libreoffice.yml | 10 +++++----- .github/workflows/linkup.yml | 12 ++++++------ .github/workflows/litellm.yml | 12 ++++++------ .github/workflows/llama_cpp.yml | 10 +++++----- .github/workflows/llama_stack.yml | 6 +++--- .github/workflows/mariadb.yml | 10 +++++----- .github/workflows/markitdown.yml | 10 +++++----- .github/workflows/mcp.yml | 14 +++++++------- .github/workflows/mem0.yml | 12 ++++++------ .github/workflows/microsoft_sharepoint.yml | 10 +++++----- .github/workflows/mistral.yml | 14 +++++++------- .github/workflows/mongodb_atlas.yml | 12 ++++++------ .github/workflows/monty.yml | 10 +++++----- .github/workflows/nvidia.yml | 14 +++++++------- .github/workflows/oauth.yml | 10 +++++----- .github/workflows/ollama.yml | 10 +++++----- .github/workflows/openapi.yml | 12 ++++++------ .github/workflows/opendataloader_pdf.yml | 10 +++++----- .github/workflows/openrouter.yml | 14 +++++++------- .github/workflows/opensearch.yml | 10 +++++----- .github/workflows/opentelemetry.yml | 10 +++++----- .github/workflows/optimum.yml | 10 +++++----- .github/workflows/oracle.yml | 10 +++++----- .github/workflows/orcarouter.yml | 14 +++++++------- .github/workflows/paddleocr.yml | 12 ++++++------ .github/workflows/parallel.yml | 12 ++++++------ .github/workflows/perplexity.yml | 12 ++++++------ .github/workflows/pgvector.yml | 10 +++++----- .github/workflows/pinecone.yml | 12 ++++++------ .github/workflows/presidio.yml | 8 ++++---- .github/workflows/pyversity.yml | 10 +++++----- .github/workflows/qdrant.yml | 10 +++++----- .github/workflows/ragas.yml | 12 ++++++------ .github/workflows/rhesis.yml | 12 ++++++------ .github/workflows/searchapi.yml | 12 ++++++------ .github/workflows/sentence_transformers.yml | 12 ++++++------ .github/workflows/serperdev.yml | 12 ++++++------ .github/workflows/snowflake.yml | 10 +++++----- .github/workflows/solr.yml | 10 +++++----- .github/workflows/spacy.yml | 10 +++++----- .github/workflows/sqlalchemy.yml | 10 +++++----- .github/workflows/stackit.yml | 14 +++++++------- .github/workflows/supabase.yml | 10 +++++----- .github/workflows/tavily.yml | 12 ++++++------ .github/workflows/tika.yml | 10 +++++----- .github/workflows/togetherai.yml | 14 +++++++------- .github/workflows/transformers.yml | 10 +++++----- .github/workflows/twelvelabs.yml | 12 ++++++------ .github/workflows/typesafe.yml | 14 +++++++------- .github/workflows/unstructured.yml | 10 +++++----- .github/workflows/valkey.yml | 10 +++++----- .github/workflows/vespa.yml | 8 ++++---- .github/workflows/vllm.yml | 10 +++++----- .github/workflows/weave.yml | 12 ++++++------ .github/workflows/weaviate.yml | 10 +++++----- .github/workflows/whisper.yml | 12 ++++++------ .github/workflows/youcom.yml | 12 ++++++------ scripts/utils/templates/workflow.yml | 12 ++++++------ 108 files changed, 596 insertions(+), 596 deletions(-) diff --git a/.github/workflows/CI_docusaurus_sync.yml b/.github/workflows/CI_docusaurus_sync.yml index b7373f6403..69aaf0b971 100644 --- a/.github/workflows/CI_docusaurus_sync.yml +++ b/.github/workflows/CI_docusaurus_sync.yml @@ -29,7 +29,7 @@ jobs: - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: "3.10" + python-version: "3.11" - name: Install Hatch run: | @@ -77,7 +77,7 @@ jobs: - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: "3.10" + python-version: "3.11" - name: Download API reference artifact uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 diff --git a/.github/workflows/CI_license_compliance.yml b/.github/workflows/CI_license_compliance.yml index 68a064bd21..8a00362231 100644 --- a/.github/workflows/CI_license_compliance.yml +++ b/.github/workflows/CI_license_compliance.yml @@ -11,7 +11,7 @@ on: - cron: "0 0 * * *" # every day at midnight env: - PYTHON_VERSION: "3.10" + PYTHON_VERSION: "3.11" EXCLUDE_PACKAGES: "(?i)^(azure-identity|azure-search-documents|fastembed|llama-cpp-python|tqdm|psycopg|mistralai|pgvector|twelvelabs|mariadb).*" # Exclusions must be explicitly motivated diff --git a/.github/workflows/agent_pack.yml b/.github/workflows/agent_pack.yml index 6ab61ce819..c84adedca0 100644 --- a/.github/workflows/agent_pack.yml +++ b/.github/workflows/agent_pack.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-agent_pack path: python-coverage-comment-action-agent_pack.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} TAVILY_API_KEY: ${{ secrets.TAVILY_API_KEY }} diff --git a/.github/workflows/aimlapi.yml b/.github/workflows/aimlapi.yml index 11cd9e8112..b0ad6e1d71 100644 --- a/.github/workflows/aimlapi.yml +++ b/.github/workflows/aimlapi.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-aimlapi path: python-coverage-comment-action-aimlapi.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: AIMLAPI_API_KEY: ${{ secrets.AIMLAPI_API_KEY }} run: hatch run test:integration-cov-append-retry @@ -136,7 +136,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: AIMLAPI_API_KEY: ${{ secrets.AIMLAPI_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/alloydb.yml b/.github/workflows/alloydb.yml index e3516b0d46..041e6857c9 100644 --- a/.github/workflows/alloydb.yml +++ b/.github/workflows/alloydb.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: run: pip install --upgrade hatch - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-alloydb diff --git a/.github/workflows/amazon_bedrock.yml b/.github/workflows/amazon_bedrock.yml index 1e4ed43c9d..7ca117d56f 100644 --- a/.github/workflows/amazon_bedrock.yml +++ b/.github/workflows/amazon_bedrock.yml @@ -34,7 +34,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' AWS_REGION: "us-east-1" AWS_BEDROCK_GUARDRAIL_VERSION: "1" @@ -54,7 +54,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -89,7 +89,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -98,7 +98,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -108,7 +108,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-amazon_bedrock diff --git a/.github/workflows/amazon_sagemaker.yml b/.github/workflows/amazon_sagemaker.yml index 1f58f175df..511591c588 100644 --- a/.github/workflows/amazon_sagemaker.yml +++ b/.github/workflows/amazon_sagemaker.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,7 +98,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-amazon_sagemaker diff --git a/.github/workflows/amazon_textract.yml b/.github/workflows/amazon_textract.yml index b70b239f0c..9a117db9cf 100644 --- a/.github/workflows/amazon_textract.yml +++ b/.github/workflows/amazon_textract.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -76,7 +76,7 @@ jobs: - name: Install Hatch run: pip install --upgrade hatch - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -85,7 +85,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -95,7 +95,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-amazon_textract diff --git a/.github/workflows/anthropic.yml b/.github/workflows/anthropic.yml index 6ab47ece1d..3aded90db5 100644 --- a/.github/workflows/anthropic.yml +++ b/.github/workflows/anthropic.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-anthropic path: python-coverage-comment-action-anthropic.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/arangodb.yml b/.github/workflows/arangodb.yml index aa319b2930..0792d79037 100644 --- a/.github/workflows/arangodb.yml +++ b/.github/workflows/arangodb.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -77,7 +77,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run ArangoDB container @@ -89,7 +89,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -99,7 +99,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-arangodb diff --git a/.github/workflows/arcadedb.yml b/.github/workflows/arcadedb.yml index 4ac6df6ae1..2b600637d4 100644 --- a/.github/workflows/arcadedb.yml +++ b/.github/workflows/arcadedb.yml @@ -27,7 +27,7 @@ env: FORCE_COLOR: "1" ARCADEDB_USERNAME: "root" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -46,7 +46,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -83,7 +83,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -92,7 +92,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -102,7 +102,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-arcadedb diff --git a/.github/workflows/astra.yml b/.github/workflows/astra.yml index ee9967d146..02ccf3d648 100644 --- a/.github/workflows/astra.yml +++ b/.github/workflows/astra.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -80,7 +80,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -89,7 +89,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -99,14 +99,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-astra path: python-coverage-comment-action-astra.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: ASTRA_DB_API_ENDPOINT: ${{ secrets.ASTRA_DB_API_ENDPOINT }} ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.ASTRA_DB_APPLICATION_TOKEN }} diff --git a/.github/workflows/azure_ai_search.yml b/.github/workflows/azure_ai_search.yml index 3a2fe11437..aaba4024b1 100644 --- a/.github/workflows/azure_ai_search.yml +++ b/.github/workflows/azure_ai_search.yml @@ -26,7 +26,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -75,7 +75,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -84,7 +84,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -94,14 +94,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-azure_ai_search path: python-coverage-comment-action-azure_ai_search.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: AZURE_AI_SEARCH_API_KEY: ${{ secrets.AZURE_AI_SEARCH_API_KEY }} AZURE_AI_SEARCH_ENDPOINT: ${{ secrets.AZURE_AI_SEARCH_ENDPOINT }} diff --git a/.github/workflows/azure_doc_intelligence.yml b/.github/workflows/azure_doc_intelligence.yml index e419e85631..a95f2a0771 100644 --- a/.github/workflows/azure_doc_intelligence.yml +++ b/.github/workflows/azure_doc_intelligence.yml @@ -26,7 +26,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -75,7 +75,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -84,7 +84,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -94,14 +94,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-azure_doc_intelligence path: python-coverage-comment-action-azure_doc_intelligence.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: AZURE_DI_ENDPOINT: ${{ secrets.AZURE_DI_ENDPOINT }} AZURE_DI_API_KEY: ${{ secrets.AZURE_AI_API_KEY }} diff --git a/.github/workflows/azure_documentdb.yml b/.github/workflows/azure_documentdb.yml index 7769f20f3c..818bb1161e 100644 --- a/.github/workflows/azure_documentdb.yml +++ b/.github/workflows/azure_documentdb.yml @@ -29,7 +29,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -44,7 +44,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -81,7 +81,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -94,7 +94,7 @@ jobs: - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -104,7 +104,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-azure_documentdb diff --git a/.github/workflows/azure_form_recognizer.yml b/.github/workflows/azure_form_recognizer.yml index f0ad0e0d9d..7957463140 100644 --- a/.github/workflows/azure_form_recognizer.yml +++ b/.github/workflows/azure_form_recognizer.yml @@ -26,7 +26,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -75,7 +75,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -84,7 +84,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -94,14 +94,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-azure_form_recognizer path: python-coverage-comment-action-azure_form_recognizer.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: CORE_AZURE_CS_ENDPOINT: ${{ secrets.CORE_AZURE_CS_ENDPOINT }} CORE_AZURE_CS_API_KEY: ${{ secrets.CORE_AZURE_CS_API_KEY }} diff --git a/.github/workflows/brave.yml b/.github/workflows/brave.yml index d441bbbb1a..c2912f3ba8 100644 --- a/.github/workflows/brave.yml +++ b/.github/workflows/brave.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -77,7 +77,7 @@ jobs: run: pip install hatch - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -86,7 +86,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -96,14 +96,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-brave path: python-coverage-comment-action-brave.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: BRAVE_API_KEY: ${{ secrets.BRAVE_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/chonkie.yml b/.github/workflows/chonkie.yml index d8b0f62072..ec9e57e5c7 100644 --- a/.github/workflows/chonkie.yml +++ b/.github/workflows/chonkie.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.13"]' + TEST_MATRIX_PYTHON: '["3.11", "3.13"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install --upgrade hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-chonkie diff --git a/.github/workflows/chroma.yml b/.github/workflows/chroma.yml index abb273057c..a6e1564cf9 100644 --- a/.github/workflows/chroma.yml +++ b/.github/workflows/chroma.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run Chroma server on Linux/macOS @@ -92,7 +92,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -102,7 +102,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-chroma diff --git a/.github/workflows/cognee.yml b/.github/workflows/cognee.yml index c4b4eac3e3..a88c84582c 100644 --- a/.github/workflows/cognee.yml +++ b/.github/workflows/cognee.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-cognee path: python-coverage-comment-action-cognee.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: # cognee runs an LLM internally for remember/recall/improve; the integration suite needs a key. diff --git a/.github/workflows/cohere.yml b/.github/workflows/cohere.yml index f50159ea94..9fa7092bb8 100644 --- a/.github/workflows/cohere.yml +++ b/.github/workflows/cohere.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-cohere path: python-coverage-comment-action-cohere.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: COHERE_API_KEY: ${{ secrets.COHERE_API_KEY }} diff --git a/.github/workflows/cometapi.yml b/.github/workflows/cometapi.yml index 274f3baafa..7ea368a941 100644 --- a/.github/workflows/cometapi.yml +++ b/.github/workflows/cometapi.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-cometapi path: python-coverage-comment-action-cometapi.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: COMET_API_KEY: "${{ secrets.COMET_API_KEY }}" @@ -136,7 +136,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: COMET_API_KEY: "${{ secrets.COMET_API_KEY }}" run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/datadog.yml b/.github/workflows/datadog.yml index 3d78e184ad..d72e5e92e2 100644 --- a/.github/workflows/datadog.yml +++ b/.github/workflows/datadog.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-datadog diff --git a/.github/workflows/ddgs.yml b/.github/workflows/ddgs.yml index cc66a0dc2f..b001081c6d 100644 --- a/.github/workflows/ddgs.yml +++ b/.github/workflows/ddgs.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-ddgs path: python-coverage-comment-action-ddgs.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry - name: Store combined coverage diff --git a/.github/workflows/deepeval.yml b/.github/workflows/deepeval.yml index 690d6ba7b1..f42b2e96bf 100644 --- a/.github/workflows/deepeval.yml +++ b/.github/workflows/deepeval.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-deepeval path: python-coverage-comment-action-deepeval.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} diff --git a/.github/workflows/docling.yml b/.github/workflows/docling.yml index a0505e1c0b..c5c094895a 100644 --- a/.github/workflows/docling.yml +++ b/.github/workflows/docling.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install --upgrade hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,7 +98,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-docling diff --git a/.github/workflows/docling_serve.yml b/.github/workflows/docling_serve.yml index 7506232f4c..0a1b684561 100644 --- a/.github/workflows/docling_serve.yml +++ b/.github/workflows/docling_serve.yml @@ -36,7 +36,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ["3.10", "3.14"] + python-version: ["3.11", "3.14"] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -50,7 +50,7 @@ jobs: run: pip install hatch - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -58,7 +58,7 @@ jobs: - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -68,7 +68,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-docling_serve diff --git a/.github/workflows/dspy.yml b/.github/workflows/dspy.yml index 3cff53af04..496d4cc253 100644 --- a/.github/workflows/dspy.yml +++ b/.github/workflows/dspy.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: github.event_name != 'push' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name != 'push' && matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-dspy path: python-coverage-comment-action-dspy.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} diff --git a/.github/workflows/dynamodb.yml b/.github/workflows/dynamodb.yml index 518f98a513..2a063881ac 100644 --- a/.github/workflows/dynamodb.yml +++ b/.github/workflows/dynamodb.yml @@ -34,7 +34,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' AWS_REGION: "us-east-1" @@ -51,7 +51,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -85,7 +85,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -94,7 +94,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -104,7 +104,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-dynamodb diff --git a/.github/workflows/e2b.yml b/.github/workflows/e2b.yml index b1fdc0769e..6b0a4c3adf 100644 --- a/.github/workflows/e2b.yml +++ b/.github/workflows/e2b.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -76,7 +76,7 @@ jobs: - name: Install Hatch run: pip install --upgrade hatch - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -85,7 +85,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -95,14 +95,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-e2b path: python-coverage-comment-action-e2b.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: E2B_API_KEY: ${{ secrets.E2B_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/edenai.yml b/.github/workflows/edenai.yml index fba91287da..73281ab574 100644 --- a/.github/workflows/edenai.yml +++ b/.github/workflows/edenai.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-edenai path: python-coverage-comment-action-edenai.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: EDENAI_API_KEY: ${{ secrets.EDENAI_API_KEY }} run: hatch run test:integration-cov-append-retry @@ -136,7 +136,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: EDENAI_API_KEY: ${{ secrets.EDENAI_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/elasticsearch.yml b/.github/workflows/elasticsearch.yml index e2f202f260..64b06444ad 100644 --- a/.github/workflows/elasticsearch.yml +++ b/.github/workflows/elasticsearch.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -74,7 +74,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run ElasticSearch container @@ -86,7 +86,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -96,7 +96,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-elasticsearch diff --git a/.github/workflows/faiss.yml b/.github/workflows/faiss.yml index 9434c56b4c..44b0b40bf5 100644 --- a/.github/workflows/faiss.yml +++ b/.github/workflows/faiss.yml @@ -26,7 +26,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -75,7 +75,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -84,7 +84,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -94,7 +94,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-faiss @@ -113,7 +113,7 @@ jobs: MINIMUM_GREEN: 90 MINIMUM_ORANGE: 60 - name: Run unit tests with lowest direct dependencies - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: | hatch env prune hatch run uv pip compile pyproject.toml --resolution lowest-direct --output-file requirements_lowest_direct.txt diff --git a/.github/workflows/falkordb.yml b/.github/workflows/falkordb.yml index 4b240e298f..5ddf86499d 100644 --- a/.github/workflows/falkordb.yml +++ b/.github/workflows/falkordb.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -86,7 +86,7 @@ jobs: - name: Install Hatch run: pip install --upgrade hatch - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -95,7 +95,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -105,7 +105,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-falkordb diff --git a/.github/workflows/fastembed.yml b/.github/workflows/fastembed.yml index 0b442bf84f..ceec9d0030 100644 --- a/.github/workflows/fastembed.yml +++ b/.github/workflows/fastembed.yml @@ -24,7 +24,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -39,7 +39,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -67,7 +67,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -76,7 +76,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -86,7 +86,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-fastembed diff --git a/.github/workflows/firecrawl.yml b/.github/workflows/firecrawl.yml index 05f3d9cc8d..e414ec66d4 100644 --- a/.github/workflows/firecrawl.yml +++ b/.github/workflows/firecrawl.yml @@ -26,7 +26,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -74,7 +74,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -83,7 +83,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -93,14 +93,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-firecrawl path: python-coverage-comment-action-firecrawl.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: FIRECRAWL_API_KEY: ${{ secrets.FIRECRAWL_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/funasr.yml b/.github/workflows/funasr.yml index c8c803be88..ace7530a2a 100644 --- a/.github/workflows/funasr.yml +++ b/.github/workflows/funasr.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests diff --git a/.github/workflows/github.yml b/.github/workflows/github.yml index 378cb7dfa6..fd70195cc2 100644 --- a/.github/workflows/github.yml +++ b/.github/workflows/github.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-github diff --git a/.github/workflows/google_drive.yml b/.github/workflows/google_drive.yml index 85c5bbb84f..ec8df539e7 100644 --- a/.github/workflows/google_drive.yml +++ b/.github/workflows/google_drive.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -80,7 +80,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -89,7 +89,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -99,7 +99,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-google_drive @@ -111,7 +111,7 @@ jobs: # On any skipped run the token stays unset and `TestLive` skips itself. - name: Authenticate to Google Cloud id: gdrive_auth - if: env.HAS_GOOGLE_DRIVE_SECRET == 'true' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: env.HAS_GOOGLE_DRIVE_SECRET == 'true' && matrix.python-version == '3.11' && runner.os == 'Linux' uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3 with: credentials_json: ${{ secrets.GOOGLE_DRIVE_SA_KEY }} @@ -119,7 +119,7 @@ jobs: access_token_scopes: https://www.googleapis.com/auth/drive.readonly - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: GOOGLE_DRIVE_ACCESS_TOKEN: ${{ steps.gdrive_auth.outputs.access_token }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/google_genai.yml b/.github/workflows/google_genai.yml index b4ae012638..79428f148e 100644 --- a/.github/workflows/google_genai.yml +++ b/.github/workflows/google_genai.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-google_genai path: python-coverage-comment-action-google_genai.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: GOOGLE_API_KEY: "${{ secrets.GOOGLE_API_KEY }}" run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/gotenberg.yml b/.github/workflows/gotenberg.yml index 089b80cfc8..83cab16640 100644 --- a/.github/workflows/gotenberg.yml +++ b/.github/workflows/gotenberg.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,22 +97,22 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-gotenberg path: python-coverage-comment-action-gotenberg.txt - name: Start Gotenberg for integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: docker compose up -d --wait - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry - name: Stop Gotenberg - if: always() && matrix.python-version == '3.10' && runner.os == 'Linux' + if: always() && matrix.python-version == '3.11' && runner.os == 'Linux' run: docker compose down - name: Store combined coverage diff --git a/.github/workflows/hanlp.yml b/.github/workflows/hanlp.yml index 3b3466773a..8cfd6bf2ee 100644 --- a/.github/workflows/hanlp.yml +++ b/.github/workflows/hanlp.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-hanlp path: python-coverage-comment-action-hanlp.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry - name: Store combined coverage diff --git a/.github/workflows/hetzner.yml b/.github/workflows/hetzner.yml index 44b133c352..7145ffb299 100644 --- a/.github/workflows/hetzner.yml +++ b/.github/workflows/hetzner.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-hetzner @@ -106,7 +106,7 @@ jobs: - name: Run integration tests # The Hetzner Inference API is rate-limited per API key, so run these only on Linux and on the minimum # Python version supported - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: HETZNER_API_KEY: ${{ secrets.HETZNER_API_KEY }} run: hatch run test:integration-cov-append-retry @@ -137,7 +137,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: HETZNER_API_KEY: ${{ secrets.HETZNER_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/huggingface_api.yml b/.github/workflows/huggingface_api.yml index ec909a5ed4..f147b92e64 100644 --- a/.github/workflows/huggingface_api.yml +++ b/.github/workflows/huggingface_api.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,11 +78,11 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Start local TEI servers - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} run: docker compose up -d @@ -93,7 +93,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -103,14 +103,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-huggingface_api path: python-coverage-comment-action-huggingface_api.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/ibm_db.yml b/.github/workflows/ibm_db.yml index cf74c17414..7250b94555 100644 --- a/.github/workflows/ibm_db.yml +++ b/.github/workflows/ibm_db.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Start DB2 container @@ -94,7 +94,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -104,7 +104,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-ibm_db diff --git a/.github/workflows/jina.yml b/.github/workflows/jina.yml index eee5b2d32c..8bb08b197b 100644 --- a/.github/workflows/jina.yml +++ b/.github/workflows/jina.yml @@ -29,7 +29,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -44,7 +44,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-jina path: python-coverage-comment-action-jina.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: JINA_API_KEY: ${{ secrets.JINA_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/kreuzberg.yml b/.github/workflows/kreuzberg.yml index 67adde0c46..3b881ba2f8 100644 --- a/.github/workflows/kreuzberg.yml +++ b/.github/workflows/kreuzberg.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: github.event_name != 'push' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name != 'push' && matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,7 +98,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-kreuzberg diff --git a/.github/workflows/langdetect.yml b/.github/workflows/langdetect.yml index 52e7fa2634..2a24cbba09 100644 --- a/.github/workflows/langdetect.yml +++ b/.github/workflows/langdetect.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-langdetect diff --git a/.github/workflows/langfuse.yml b/.github/workflows/langfuse.yml index 1ea8e31666..ac39abfa0e 100644 --- a/.github/workflows/langfuse.yml +++ b/.github/workflows/langfuse.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.13"]' + TEST_MATRIX_PYTHON: '["3.11", "3.13"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-langfuse path: python-coverage-comment-action-langfuse.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: LANGFUSE_SECRET_KEY: ${{ secrets.LANGFUSE_SECRET_KEY }} LANGFUSE_PUBLIC_KEY: ${{ secrets.LANGFUSE_PUBLIC_KEY }} diff --git a/.github/workflows/lara.yml b/.github/workflows/lara.yml index fda6756556..cbd7737cf9 100644 --- a/.github/workflows/lara.yml +++ b/.github/workflows/lara.yml @@ -26,7 +26,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -75,7 +75,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -84,7 +84,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -94,14 +94,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-lara path: python-coverage-comment-action-lara.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: LARA_ACCESS_KEY_ID: ${{ secrets.LARA_ACCESS_KEY_ID }} LARA_ACCESS_KEY_SECRET: ${{ secrets.LARA_ACCESS_KEY_SECRET }} diff --git a/.github/workflows/libreoffice.yml b/.github/workflows/libreoffice.yml index ba853f3935..dd12a7ff28 100644 --- a/.github/workflows/libreoffice.yml +++ b/.github/workflows/libreoffice.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install --upgrade hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Install LibreOffice headless (Ubuntu) @@ -114,7 +114,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -124,7 +124,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-libreoffice diff --git a/.github/workflows/linkup.yml b/.github/workflows/linkup.yml index 5177326b8d..180c0140a4 100644 --- a/.github/workflows/linkup.yml +++ b/.github/workflows/linkup.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-linkup path: python-coverage-comment-action-linkup.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: LINKUP_API_KEY: ${{ secrets.LINKUP_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/litellm.yml b/.github/workflows/litellm.yml index 63f95775ba..f8ec922045 100644 --- a/.github/workflows/litellm.yml +++ b/.github/workflows/litellm.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-litellm path: python-coverage-comment-action-litellm.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/llama_cpp.yml b/.github/workflows/llama_cpp.yml index 2634cdffeb..2b0871e574 100644 --- a/.github/workflows/llama_cpp.yml +++ b/.github/workflows/llama_cpp.yml @@ -29,7 +29,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -44,7 +44,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-llama_cpp diff --git a/.github/workflows/llama_stack.yml b/.github/workflows/llama_stack.yml index 0287baf73d..7ffdb6dbb6 100644 --- a/.github/workflows/llama_stack.yml +++ b/.github/workflows/llama_stack.yml @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.12"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -163,7 +163,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.12' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -173,7 +173,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.12' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-llama_stack diff --git a/.github/workflows/mariadb.yml b/.github/workflows/mariadb.yml index 2ebc679b88..cfc4c6a373 100644 --- a/.github/workflows/mariadb.yml +++ b/.github/workflows/mariadb.yml @@ -24,7 +24,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -43,7 +43,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -83,7 +83,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -91,7 +91,7 @@ jobs: - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -101,7 +101,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-mariadb diff --git a/.github/workflows/markitdown.yml b/.github/workflows/markitdown.yml index 88421ce083..e506263e25 100644 --- a/.github/workflows/markitdown.yml +++ b/.github/workflows/markitdown.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install --upgrade hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-markitdown diff --git a/.github/workflows/mcp.yml b/.github/workflows/mcp.yml index e8c3fb4826..425d884f5b 100644 --- a/.github/workflows/mcp.yml +++ b/.github/workflows/mcp.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "macos-latest", "windows-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -90,7 +90,7 @@ jobs: run: docker pull mcp/brave-search - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -99,7 +99,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -109,14 +109,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-mcp path: python-coverage-comment-action-mcp.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: BRAVE_API_KEY: ${{ secrets.BRAVE_API_KEY }} @@ -140,7 +140,7 @@ jobs: hatch run test:unit - name: Run integration tests with lowest direct dependencies (MCP v1) - if: github.event_name != 'push' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name != 'push' && matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: BRAVE_API_KEY: ${{ secrets.BRAVE_API_KEY }} diff --git a/.github/workflows/mem0.yml b/.github/workflows/mem0.yml index df225ae01a..672ef8d8cf 100644 --- a/.github/workflows/mem0.yml +++ b/.github/workflows/mem0.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-mem0 path: python-coverage-comment-action-mem0.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: MEM0_API_KEY: ${{ secrets.MEM0_API_KEY }} diff --git a/.github/workflows/microsoft_sharepoint.yml b/.github/workflows/microsoft_sharepoint.yml index a229aea511..2111aa898e 100644 --- a/.github/workflows/microsoft_sharepoint.yml +++ b/.github/workflows/microsoft_sharepoint.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -87,7 +87,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -96,7 +96,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -106,7 +106,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-microsoft_sharepoint diff --git a/.github/workflows/mistral.yml b/.github/workflows/mistral.yml index c481e91e43..17caf6510a 100644 --- a/.github/workflows/mistral.yml +++ b/.github/workflows/mistral.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-mistral path: python-coverage-comment-action-mistral.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} @@ -136,7 +136,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/mongodb_atlas.yml b/.github/workflows/mongodb_atlas.yml index 88376f0964..7830226967 100644 --- a/.github/workflows/mongodb_atlas.yml +++ b/.github/workflows/mongodb_atlas.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -74,7 +74,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -83,7 +83,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -93,14 +93,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-mongodb_atlas path: python-coverage-comment-action-mongodb_atlas.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: MONGO_CONNECTION_STRING: ${{ secrets.MONGO_CONNECTION_STRING }} diff --git a/.github/workflows/monty.yml b/.github/workflows/monty.yml index d2fb24ef02..c6877b0af4 100644 --- a/.github/workflows/monty.yml +++ b/.github/workflows/monty.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-monty diff --git a/.github/workflows/nvidia.yml b/.github/workflows/nvidia.yml index 8fa53b6ca6..e1f2639d28 100644 --- a/.github/workflows/nvidia.yml +++ b/.github/workflows/nvidia.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10"]' + TEST_MATRIX_PYTHON: '["3.11"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-nvidia path: python-coverage-comment-action-nvidia.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }} @@ -137,7 +137,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }} NVIDIA_CATALOG_API_KEY: ${{ secrets.NVIDIA_CATALOG_API_KEY }} diff --git a/.github/workflows/oauth.yml b/.github/workflows/oauth.yml index d738e08896..747c5e6ef4 100644 --- a/.github/workflows/oauth.yml +++ b/.github/workflows/oauth.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-oauth diff --git a/.github/workflows/ollama.yml b/.github/workflows/ollama.yml index 34a53146a2..6df66c8e9a 100644 --- a/.github/workflows/ollama.yml +++ b/.github/workflows/ollama.yml @@ -33,7 +33,7 @@ env: VISION_LLM_FOR_TESTS: "moondream:1.8b" EMBEDDER_FOR_TESTS: "all-minilm" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -48,7 +48,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -118,7 +118,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -127,7 +127,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -137,7 +137,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-ollama diff --git a/.github/workflows/openapi.yml b/.github/workflows/openapi.yml index 769a357dab..a921bcdc30 100644 --- a/.github/workflows/openapi.yml +++ b/.github/workflows/openapi.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-openapi path: python-coverage-comment-action-openapi.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} diff --git a/.github/workflows/opendataloader_pdf.yml b/.github/workflows/opendataloader_pdf.yml index 51ba22a9a9..ec8cec8c9d 100644 --- a/.github/workflows/opendataloader_pdf.yml +++ b/.github/workflows/opendataloader_pdf.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-opendataloader_pdf diff --git a/.github/workflows/openrouter.yml b/.github/workflows/openrouter.yml index 15207dee2d..921b359880 100644 --- a/.github/workflows/openrouter.yml +++ b/.github/workflows/openrouter.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-openrouter path: python-coverage-comment-action-openrouter.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry env: OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }} @@ -135,7 +135,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/opensearch.yml b/.github/workflows/opensearch.yml index 31cc1c7413..724a5591ba 100644 --- a/.github/workflows/opensearch.yml +++ b/.github/workflows/opensearch.yml @@ -26,7 +26,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -74,7 +74,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run opensearch container @@ -86,7 +86,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -96,7 +96,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-opensearch diff --git a/.github/workflows/opentelemetry.yml b/.github/workflows/opentelemetry.yml index ba6e3e621c..c8895cf760 100644 --- a/.github/workflows/opentelemetry.yml +++ b/.github/workflows/opentelemetry.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-opentelemetry diff --git a/.github/workflows/optimum.yml b/.github/workflows/optimum.yml index e796cba411..aaa7b4a678 100644 --- a/.github/workflows/optimum.yml +++ b/.github/workflows/optimum.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,7 +98,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-optimum diff --git a/.github/workflows/oracle.yml b/.github/workflows/oracle.yml index 19bfa97a30..b4f337e5e8 100644 --- a/.github/workflows/oracle.yml +++ b/.github/workflows/oracle.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -74,7 +74,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Start Oracle container @@ -89,7 +89,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -99,7 +99,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-oracle diff --git a/.github/workflows/orcarouter.yml b/.github/workflows/orcarouter.yml index 36b6264779..b262bf3fd7 100644 --- a/.github/workflows/orcarouter.yml +++ b/.github/workflows/orcarouter.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-orcarouter path: python-coverage-comment-action-orcarouter.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: ORCAROUTER_API_KEY: ${{ secrets.ORCAROUTER_API_KEY }} run: hatch run test:integration-cov-append-retry @@ -135,7 +135,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: ORCAROUTER_API_KEY: ${{ secrets.ORCAROUTER_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/paddleocr.yml b/.github/workflows/paddleocr.yml index 7a0746b768..246e20330b 100644 --- a/.github/workflows/paddleocr.yml +++ b/.github/workflows/paddleocr.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.12"]' + TEST_MATRIX_PYTHON: '["3.11", "3.12"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-paddleocr path: python-coverage-comment-action-paddleocr.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: PADDLEOCR_ACCESS_TOKEN: ${{ secrets.PADDLEOCR_ACCESS_TOKEN }} PADDLEOCR_BASE_URL: ${{ secrets.PADDLEOCR_BASE_URL }} diff --git a/.github/workflows/parallel.yml b/.github/workflows/parallel.yml index 16fd7e2038..104f5a2114 100644 --- a/.github/workflows/parallel.yml +++ b/.github/workflows/parallel.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-parallel path: python-coverage-comment-action-parallel.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: PARALLEL_API_KEY: ${{ secrets.PARALLEL_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/perplexity.yml b/.github/workflows/perplexity.yml index 60e01225f8..7d09f9d5d6 100644 --- a/.github/workflows/perplexity.yml +++ b/.github/workflows/perplexity.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -76,7 +76,7 @@ jobs: - name: Install Hatch run: pip install --upgrade hatch - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -85,7 +85,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -95,14 +95,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-perplexity path: python-coverage-comment-action-perplexity.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: PERPLEXITY_API_KEY: ${{ secrets.PERPLEXITY_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/pgvector.yml b/.github/workflows/pgvector.yml index 684e80be9b..e0a533a956 100644 --- a/.github/workflows/pgvector.yml +++ b/.github/workflows/pgvector.yml @@ -26,7 +26,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' defaults: run: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -83,7 +83,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -92,7 +92,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -102,7 +102,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-pgvector diff --git a/.github/workflows/pinecone.yml b/.github/workflows/pinecone.yml index 376b936a33..ee062494b9 100644 --- a/.github/workflows/pinecone.yml +++ b/.github/workflows/pinecone.yml @@ -42,11 +42,11 @@ jobs: - id: set run: | if [ "${{ github.event_name }}" = "push" ]; then - echo 'matrix=[{"os":"ubuntu-latest","python-version":"3.10","INDEX_NAME":"index-310"}]' >> "$GITHUB_OUTPUT" + echo 'matrix=[{"os":"ubuntu-latest","python-version":"3.11","INDEX_NAME":"index-310"}]' >> "$GITHUB_OUTPUT" else MATRIX='[' # Pinecone tests are time expensive, so only test on Ubuntu - MATRIX+='{"os":"ubuntu-latest","python-version":"3.10","INDEX_NAME":"index-310"},' + MATRIX+='{"os":"ubuntu-latest","python-version":"3.11","INDEX_NAME":"index-310"},' MATRIX+='{"os":"ubuntu-latest","python-version":"3.14","INDEX_NAME":"index-313"}' MATRIX+=']' echo "matrix=$MATRIX" >> "$GITHUB_OUTPUT" @@ -78,7 +78,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-pinecone path: python-coverage-comment-action-pinecone.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: INDEX_NAME: ${{ matrix.INDEX_NAME }} PINECONE_API_KEY: ${{ secrets.PINECONE_API_KEY }} diff --git a/.github/workflows/presidio.yml b/.github/workflows/presidio.yml index f6ceccc204..180b7b9bca 100644 --- a/.github/workflows/presidio.yml +++ b/.github/workflows/presidio.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: generates coverage comment artifact. On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/pyversity.yml b/.github/workflows/pyversity.yml index c74a5e7b30..c5e1b88598 100644 --- a/.github/workflows/pyversity.yml +++ b/.github/workflows/pyversity.yml @@ -24,7 +24,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -39,7 +39,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -68,7 +68,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -77,7 +77,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -87,7 +87,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-pyversity diff --git a/.github/workflows/qdrant.yml b/.github/workflows/qdrant.yml index 021d26280b..a9cb8196e1 100644 --- a/.github/workflows/qdrant.yml +++ b/.github/workflows/qdrant.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,7 +98,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-qdrant diff --git a/.github/workflows/ragas.yml b/.github/workflows/ragas.yml index 0f643536bd..5d773c5b3b 100644 --- a/.github/workflows/ragas.yml +++ b/.github/workflows/ragas.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,14 +98,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-ragas path: python-coverage-comment-action-ragas.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/rhesis.yml b/.github/workflows/rhesis.yml index c3f3d960b5..7d84f372fe 100644 --- a/.github/workflows/rhesis.yml +++ b/.github/workflows/rhesis.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-rhesis @@ -106,7 +106,7 @@ jobs: # Guarded like langfuse's: one cell, not nine. The secret is scoped to this step rather # than the workflow, so no other step can read it. - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: # Maintainers: add RHESIS_API_KEY to repository secrets to enable these. RHESIS_API_KEY: ${{ secrets.RHESIS_API_KEY }} diff --git a/.github/workflows/searchapi.yml b/.github/workflows/searchapi.yml index 077e38cd0a..50518308c1 100644 --- a/.github/workflows/searchapi.yml +++ b/.github/workflows/searchapi.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-searchapi path: python-coverage-comment-action-searchapi.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: SEARCHAPI_API_KEY: ${{ secrets.SEARCHAPI_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/sentence_transformers.yml b/.github/workflows/sentence_transformers.yml index f927bbd4ab..2f986b5cb1 100644 --- a/.github/workflows/sentence_transformers.yml +++ b/.github/workflows/sentence_transformers.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-sentence_transformers path: python-coverage-comment-action-sentence_transformers.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} diff --git a/.github/workflows/serperdev.yml b/.github/workflows/serperdev.yml index ea3b9f860f..411cbd1e09 100644 --- a/.github/workflows/serperdev.yml +++ b/.github/workflows/serperdev.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install --upgrade hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-serperdev path: python-coverage-comment-action-serperdev.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: SERPERDEV_API_KEY: ${{ secrets.SERPERDEV_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/snowflake.yml b/.github/workflows/snowflake.yml index cee20fdb19..530f61ee2b 100644 --- a/.github/workflows/snowflake.yml +++ b/.github/workflows/snowflake.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,7 +98,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-snowflake diff --git a/.github/workflows/solr.yml b/.github/workflows/solr.yml index af3d60186b..b8a30dc74a 100644 --- a/.github/workflows/solr.yml +++ b/.github/workflows/solr.yml @@ -31,7 +31,7 @@ env: FORCE_COLOR: "1" # Integration tests need a Solr container, which only the Linux runners provide. TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -46,7 +46,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -74,7 +74,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run Solr container @@ -86,7 +86,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -96,7 +96,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-solr diff --git a/.github/workflows/spacy.yml b/.github/workflows/spacy.yml index fc90ffb4bc..6cbd09051f 100644 --- a/.github/workflows/spacy.yml +++ b/.github/workflows/spacy.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-spacy diff --git a/.github/workflows/sqlalchemy.yml b/.github/workflows/sqlalchemy.yml index 55ce3876ed..1aa335dbc6 100644 --- a/.github/workflows/sqlalchemy.yml +++ b/.github/workflows/sqlalchemy.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -79,7 +79,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -88,7 +88,7 @@ jobs: # On PR: generates coverage comment artifact. On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -98,7 +98,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-sqlalchemy diff --git a/.github/workflows/stackit.yml b/.github/workflows/stackit.yml index 472121a9a2..dc3a7286ac 100644 --- a/.github/workflows/stackit.yml +++ b/.github/workflows/stackit.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-stackit path: python-coverage-comment-action-stackit.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: STACKIT_API_KEY: ${{ secrets.STACKIT_API_KEY }} run: hatch run test:integration-cov-append-retry @@ -135,7 +135,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: STACKIT_API_KEY: ${{ secrets.STACKIT_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/supabase.yml b/.github/workflows/supabase.yml index 9c99b528c5..0e2a78cdb7 100644 --- a/.github/workflows/supabase.yml +++ b/.github/workflows/supabase.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -95,7 +95,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -104,7 +104,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -114,7 +114,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-supabase diff --git a/.github/workflows/tavily.yml b/.github/workflows/tavily.yml index c24cc2c080..e5a9f579ac 100644 --- a/.github/workflows/tavily.yml +++ b/.github/workflows/tavily.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install --upgrade hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-tavily path: python-coverage-comment-action-tavily.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: TAVILY_API_KEY: ${{ secrets.TAVILY_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/tika.yml b/.github/workflows/tika.yml index b0b5394506..2293f79fcc 100644 --- a/.github/workflows/tika.yml +++ b/.github/workflows/tika.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-tika diff --git a/.github/workflows/togetherai.yml b/.github/workflows/togetherai.yml index 17d5427ec0..94a41e4f6a 100644 --- a/.github/workflows/togetherai.yml +++ b/.github/workflows/togetherai.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-togetherai path: python-coverage-comment-action-togetherai.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: TOGETHER_API_KEY: ${{ secrets.TOGETHER_AI_API_KEY }} run: hatch run test:integration-cov-append-retry @@ -135,7 +135,7 @@ jobs: # Since this integration inherits from OpenAIChatGenerator, we run also integration tests with Haystack main branch to catch regressions - name: Nightly - run integration tests with Haystack main branch - if: github.event_name == 'schedule' && matrix.python-version == '3.10' && runner.os == 'Linux' + if: github.event_name == 'schedule' && matrix.python-version == '3.11' && runner.os == 'Linux' env: TOGETHER_API_KEY: ${{ secrets.TOGETHER_AI_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/transformers.yml b/.github/workflows/transformers.yml index 3212c2b0db..96e4623ec3 100644 --- a/.github/workflows/transformers.yml +++ b/.github/workflows/transformers.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-transformers diff --git a/.github/workflows/twelvelabs.yml b/.github/workflows/twelvelabs.yml index d4679d8917..dd9875ca53 100644 --- a/.github/workflows/twelvelabs.yml +++ b/.github/workflows/twelvelabs.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-twelvelabs path: python-coverage-comment-action-twelvelabs.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: TWELVELABS_API_KEY: "${{ secrets.TWELVELABS_API_KEY }}" run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/typesafe.yml b/.github/workflows/typesafe.yml index 40ff569201..f386f17959 100644 --- a/.github/workflows/typesafe.yml +++ b/.github/workflows/typesafe.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-typesafe path: python-coverage-comment-action-typesafe.txt - name: Run Ollaya and pull models - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0 with: timeout_minutes: 10 @@ -116,7 +116,7 @@ jobs: docker exec ollaya ollaya pull laya:en - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: TYPESAFE_BASE_URL: http://localhost:11435 TYPESAFE_API_KEY: local diff --git a/.github/workflows/unstructured.yml b/.github/workflows/unstructured.yml index 6a0bfadbaa..20f6f25d64 100644 --- a/.github/workflows/unstructured.yml +++ b/.github/workflows/unstructured.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -91,7 +91,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -100,7 +100,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -110,7 +110,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-unstructured diff --git a/.github/workflows/valkey.yml b/.github/workflows/valkey.yml index fc12bf722f..8053026382 100644 --- a/.github/workflows/valkey.yml +++ b/.github/workflows/valkey.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -85,7 +85,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -94,7 +94,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -104,7 +104,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-valkey diff --git a/.github/workflows/vespa.yml b/.github/workflows/vespa.yml index b1cd200583..11a65514a5 100644 --- a/.github/workflows/vespa.yml +++ b/.github/workflows/vespa.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -76,7 +76,7 @@ jobs: - name: Install Hatch run: pip install --upgrade hatch - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: generates coverage comment artifact. On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/vllm.yml b/.github/workflows/vllm.yml index c4eac0849a..b3cd4b7afe 100644 --- a/.github/workflows/vllm.yml +++ b/.github/workflows/vllm.yml @@ -36,7 +36,7 @@ env: VLLM_CPU_KVCACHE_SPACE: "4" # we only test on Ubuntu to keep vLLM server running simple TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -51,7 +51,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -175,7 +175,7 @@ jobs: echo "vLLM ranker server started successfully." - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -184,7 +184,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -194,7 +194,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-vllm diff --git a/.github/workflows/weave.yml b/.github/workflows/weave.yml index d3c21d4e5e..3dbcc05785 100644 --- a/.github/workflows/weave.yml +++ b/.github/workflows/weave.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -74,7 +74,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -83,7 +83,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -93,14 +93,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-weave path: python-coverage-comment-action-weave.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: WANDB_API_KEY: ${{ secrets.WANDB_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/weaviate.yml b/.github/workflows/weaviate.yml index c1c6526f33..d9161ce374 100644 --- a/.github/workflows/weaviate.yml +++ b/.github/workflows/weaviate.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -74,7 +74,7 @@ jobs: pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run Weaviate container @@ -86,7 +86,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -96,7 +96,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-weaviate diff --git a/.github/workflows/whisper.yml b/.github/workflows/whisper.yml index a007f76d3f..5a913d5e9b 100644 --- a/.github/workflows/whisper.yml +++ b/.github/workflows/whisper.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-whisper @@ -114,7 +114,7 @@ jobs: run: brew install ffmpeg - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/.github/workflows/youcom.yml b/.github/workflows/youcom.yml index faca795a1a..01f625d30b 100644 --- a/.github/workflows/youcom.yml +++ b/.github/workflows/youcom.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,14 +97,14 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-youcom path: python-coverage-comment-action-youcom.txt - name: Run integration tests - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' env: YOUDOTCOM_API_KEY: ${{ secrets.YOUDOTCOM_API_KEY }} run: hatch run test:integration-cov-append-retry diff --git a/scripts/utils/templates/workflow.yml b/scripts/utils/templates/workflow.yml index 552bbfb7d0..073181cec0 100644 --- a/scripts/utils/templates/workflow.yml +++ b/scripts/utils/templates/workflow.yml @@ -30,7 +30,7 @@ env: PYTHONUNBUFFERED: "1" FORCE_COLOR: "1" TEST_MATRIX_OS: '["ubuntu-latest", "windows-latest", "macos-latest"]' - TEST_MATRIX_PYTHON: '["3.10", "3.14"]' + TEST_MATRIX_PYTHON: '["3.11", "3.14"]' jobs: compute-test-matrix: @@ -45,7 +45,7 @@ jobs: - id: set run: | echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT" - echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" + echo 'python-version=${{ github.event_name == 'push' && '["3.11"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT" run: name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} @@ -78,7 +78,7 @@ jobs: python -m pip install --upgrade pip pip install hatch --uploaded-prior-to=P1D - name: Lint - if: matrix.python-version == '3.10' && runner.os == 'Linux' + if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run fmt-check && hatch run test:types - name: Run unit tests @@ -87,7 +87,7 @@ jobs: # On PR: posts coverage comment (directly on same-repo PRs; via artifact for fork PRs). On push to main: stores coverage baseline on data branch. - name: Store unit tests coverage id: coverage_comment - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name != 'schedule' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name != 'schedule' uses: py-cov-action/python-coverage-comment-action@e5fb2218463c3377f3504b0c5b5646ed53da7a2f # v4.5 with: GITHUB_TOKEN: ${{ github.token }} @@ -97,7 +97,7 @@ jobs: MINIMUM_ORANGE: 60 - name: Upload coverage comment to be posted - if: matrix.python-version == '3.10' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' + if: matrix.python-version == '3.11' && runner.os == 'Linux' && github.event_name == 'pull_request' && steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: coverage-comment-$name @@ -105,7 +105,7 @@ jobs: - name: Run integration tests # If integration tests consume API credits, run them only on Linux and on the minimum Python version supported - # if: matrix.python-version == '3.10' && runner.os == 'Linux' + # if: matrix.python-version == '3.11' && runner.os == 'Linux' run: hatch run test:integration-cov-append-retry - name: Store combined coverage From 27804ff60dc987d15a5e4ca52ada98f39dad9651 Mon Sep 17 00:00:00 2001 From: Julian Risch Date: Thu, 15 Oct 2026 09:15:40 +0200 Subject: [PATCH 2/3] test: raise faiss numpy floor to 1.23.2 for Python 3.11 lowest-direct tests numpy 1.22 has no cp311 wheels, so the lowest-direct job on Python 3.11 built it from source and faiss-cpu 1.8.0 failed to import with "module compiled against API version 0x10 but this version of numpy is 0xf". numpy 1.23.2 is the first release with cp311 wheels. Co-Authored-By: Claude Opus 5.5 (1M context) --- integrations/faiss/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/faiss/pyproject.toml b/integrations/faiss/pyproject.toml index 85ddf47593..e805092196 100644 --- a/integrations/faiss/pyproject.toml +++ b/integrations/faiss/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ dependencies = [ "haystack-ai>=2.26.1", "faiss-cpu>=1.8.0", - "numpy>=1.22,<2; python_version < '3.13'", + "numpy>=1.23.2,<2; python_version < '3.13'", ] [project.urls] From 12bfdedccb147a7af51f0a49b5a1e4518321c2ba Mon Sep 17 00:00:00 2001 From: Julian Risch Date: Thu, 15 Oct 2026 09:16:11 +0200 Subject: [PATCH 3/3] chore!: drop Python 3.10 support Python 3.10 reaches end of life in October 2026, and haystack-ai 3.4.0 requires Python >=3.11. Set requires-python to >=3.11 and remove the 3.10 classifier in every integration and in the pyproject template. - Ruff now targets 3.11, so `hatch run fmt` applied its autofixes: `datetime.UTC` instead of `timezone.utc`, `Self`/`NotRequired` from `typing`, and `TimeoutError` instead of `asyncio.TimeoutError`. - Public `(str, Enum)` classes keep their base and get `# noqa: UP042`: `StrEnum` would change their `str()` output. - Remove backports that only applied to 3.10: mcp's `exceptiongroup` dependency, cognee's litellm cap and sqlalchemy's pandas 2 marker. - Remove stale ruff `target-version` settings, so ruff infers the target from `requires-python`. Co-Authored-By: Claude Opus 5.5 (1M context) --- integrations/agent_pack/pyproject.toml | 3 +-- integrations/aimlapi/pyproject.toml | 3 +-- integrations/alloydb/pyproject.toml | 3 +-- integrations/amazon_bedrock/pyproject.toml | 3 +-- .../generators/amazon_bedrock/chat/utils.py | 4 ++-- integrations/amazon_sagemaker/pyproject.toml | 3 +-- integrations/amazon_textract/pyproject.toml | 3 +-- integrations/anthropic/pyproject.toml | 3 +-- .../anthropic/chat/chat_generator.py | 6 +++--- integrations/arangodb/pyproject.toml | 3 +-- integrations/arcadedb/pyproject.toml | 3 +-- integrations/astra/pyproject.toml | 3 +-- integrations/azure_ai_search/pyproject.toml | 3 +-- .../tests/test_document_store.py | 18 +++++++++--------- .../azure_doc_intelligence/pyproject.toml | 3 +-- integrations/azure_documentdb/pyproject.toml | 3 +-- .../azure_form_recognizer/pyproject.toml | 3 +-- integrations/brave/pyproject.toml | 3 +-- integrations/chonkie/pyproject.toml | 3 +-- integrations/chroma/pyproject.toml | 3 +-- integrations/cognee/pyproject.toml | 10 +--------- integrations/cohere/pyproject.toml | 3 +-- integrations/cometapi/pyproject.toml | 3 +-- integrations/datadog/pyproject.toml | 3 +-- integrations/ddgs/pyproject.toml | 3 +-- integrations/deepeval/pyproject.toml | 4 +--- integrations/docling/pyproject.toml | 3 +-- .../components/converters/docling/converter.py | 2 +- integrations/docling_serve/pyproject.toml | 3 +-- .../converters/docling_serve/converter.py | 4 ++-- integrations/dspy/pyproject.toml | 3 +-- integrations/dynamodb/pyproject.toml | 3 +-- integrations/e2b/pyproject.toml | 3 +-- integrations/edenai/pyproject.toml | 3 +-- integrations/elasticsearch/pyproject.toml | 3 +-- integrations/faiss/pyproject.toml | 3 +-- integrations/falkordb/pyproject.toml | 3 +-- integrations/fastembed/pyproject.toml | 3 +-- integrations/firecrawl/pyproject.toml | 3 +-- .../fetchers/firecrawl/firecrawl_crawler.py | 4 ++-- integrations/funasr/pyproject.toml | 3 +-- integrations/github/pyproject.toml | 3 +-- .../connectors/github/file_editor.py | 2 +- integrations/google_drive/pyproject.toml | 3 +-- integrations/google_genai/pyproject.toml | 3 +-- .../multimodal_document_embedder.py | 4 ++-- .../generators/google_genai/chat/utils.py | 4 ++-- integrations/gotenberg/pyproject.toml | 3 +-- .../converters/gotenberg/converter.py | 3 +-- integrations/hanlp/pyproject.toml | 3 +-- integrations/hetzner/pyproject.toml | 3 +-- integrations/huggingface_api/pyproject.toml | 3 +-- .../huggingface_api/chat/chat_generator.py | 6 +++--- .../rankers/huggingface_api/ranker.py | 2 +- .../tests/test_chat_generator.py | 4 ++-- integrations/ibm_db/pyproject.toml | 3 +-- .../ibm_db/tests/test_document_store.py | 6 +++--- integrations/jina/pyproject.toml | 3 +-- integrations/kreuzberg/pyproject.toml | 3 +-- integrations/langdetect/pyproject.toml | 3 +-- integrations/langfuse/pyproject.toml | 3 +-- integrations/lara/pyproject.toml | 3 +-- integrations/libreoffice/pyproject.toml | 3 +-- .../converters/libreoffice/converter.py | 3 +-- integrations/linkup/pyproject.toml | 3 +-- integrations/litellm/pyproject.toml | 3 +-- integrations/llama_cpp/pyproject.toml | 3 +-- .../llama_cpp/chat/chat_generator.py | 4 ++-- integrations/llama_stack/pyproject.toml | 1 - integrations/mariadb/pyproject.toml | 3 +-- integrations/markitdown/pyproject.toml | 3 +-- integrations/mcp/pyproject.toml | 5 +---- .../tools/mcp/mcp_tool.py | 3 +-- .../tools/mcp/mcp_toolset.py | 1 - integrations/mcp/tests/test_mcp_tool.py | 1 - integrations/mem0/pyproject.toml | 3 +-- .../microsoft_sharepoint/pyproject.toml | 3 +-- integrations/mistral/pyproject.toml | 3 +-- integrations/mongodb_atlas/pyproject.toml | 3 +-- integrations/monty/pyproject.toml | 3 +-- integrations/nvidia/pyproject.toml | 3 +-- .../components/rankers/nvidia/truncate.py | 2 +- integrations/oauth/pyproject.toml | 3 +-- integrations/ollama/pyproject.toml | 3 +-- integrations/openapi/pyproject.toml | 3 +-- integrations/opendataloader_pdf/pyproject.toml | 3 +-- integrations/openrouter/pyproject.toml | 3 +-- integrations/opensearch/pyproject.toml | 3 +-- integrations/opentelemetry/pyproject.toml | 3 +-- integrations/optimum/pyproject.toml | 3 +-- integrations/oracle/pyproject.toml | 3 +-- integrations/orcarouter/pyproject.toml | 3 +-- integrations/paddleocr/pyproject.toml | 3 +-- integrations/parallel/pyproject.toml | 3 +-- .../tests/test_parallel_chat_generator.py | 4 ++-- integrations/perplexity/pyproject.toml | 3 +-- .../tests/test_perplexity_chat_generator.py | 6 +++--- integrations/pgvector/pyproject.toml | 3 +-- integrations/pinecone/pyproject.toml | 3 +-- integrations/presidio/pyproject.toml | 3 +-- integrations/pyversity/pyproject.toml | 3 +-- integrations/qdrant/pyproject.toml | 3 +-- integrations/ragas/pyproject.toml | 3 +-- integrations/rhesis/pyproject.toml | 3 +-- integrations/searchapi/pyproject.toml | 3 +-- .../sentence_transformers/pyproject.toml | 3 +-- integrations/serperdev/pyproject.toml | 3 +-- integrations/snowflake/pyproject.toml | 3 +-- integrations/solr/pyproject.toml | 3 +-- integrations/spacy/pyproject.toml | 3 +-- integrations/sqlalchemy/pyproject.toml | 6 ++---- integrations/stackit/pyproject.toml | 3 +-- integrations/supabase/pyproject.toml | 3 +-- integrations/tavily/pyproject.toml | 3 +-- integrations/tika/pyproject.toml | 3 +-- integrations/togetherai/pyproject.toml | 3 +-- integrations/transformers/pyproject.toml | 3 +-- .../transformers/chat/chat_generator.py | 2 +- integrations/twelvelabs/pyproject.toml | 3 +-- integrations/typesafe/pyproject.toml | 3 +-- integrations/unstructured/pyproject.toml | 3 +-- integrations/valkey/pyproject.toml | 4 +--- integrations/vespa/pyproject.toml | 3 +-- integrations/vllm/pyproject.toml | 3 +-- integrations/vllm/tests/test_chat_generator.py | 12 ++++++------ integrations/watsonx/pyproject.toml | 1 - .../generators/watsonx/chat/chat_generator.py | 4 ++-- integrations/weave/pyproject.toml | 3 +-- integrations/weaviate/pyproject.toml | 3 +-- integrations/whisper/pyproject.toml | 3 +-- integrations/youcom/pyproject.toml | 3 +-- scripts/utils/templates/pyproject.toml | 3 +-- 132 files changed, 159 insertions(+), 283 deletions(-) diff --git a/integrations/agent_pack/pyproject.toml b/integrations/agent_pack/pyproject.toml index 0b52eb17b9..31bdf4b9b0 100644 --- a/integrations/agent_pack/pyproject.toml +++ b/integrations/agent_pack/pyproject.toml @@ -7,7 +7,7 @@ name = "agent-pack-haystack" dynamic = ["version"] description = "Pre-configured Haystack Agents" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "agents"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/aimlapi/pyproject.toml b/integrations/aimlapi/pyproject.toml index 9ef0fb6e3b..1af97434fc 100644 --- a/integrations/aimlapi/pyproject.toml +++ b/integrations/aimlapi/pyproject.toml @@ -7,7 +7,7 @@ name = "aimlapi-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }, { name = "Dmitry Tumanov", email = "d1m7asis@gmail.com" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/alloydb/pyproject.toml b/integrations/alloydb/pyproject.toml index fbc563afe2..9af7290bd7 100644 --- a/integrations/alloydb/pyproject.toml +++ b/integrations/alloydb/pyproject.toml @@ -7,7 +7,7 @@ name = "alloydb-haystack" dynamic = ["version"] description = "An integration of Google Cloud AlloyDB with Haystack for vector search" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/amazon_bedrock/pyproject.toml b/integrations/amazon_bedrock/pyproject.toml index 52937999cf..d90724690a 100644 --- a/integrations/amazon_bedrock/pyproject.toml +++ b/integrations/amazon_bedrock/pyproject.toml @@ -7,7 +7,7 @@ name = "amazon-bedrock-haystack" dynamic = ["version"] description = 'An integration of AWS S3 and Bedrock as a Downloader and Generator components.' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/amazon_bedrock/src/haystack_integrations/components/generators/amazon_bedrock/chat/utils.py b/integrations/amazon_bedrock/src/haystack_integrations/components/generators/amazon_bedrock/chat/utils.py index bf4e71e666..922e096916 100644 --- a/integrations/amazon_bedrock/src/haystack_integrations/components/generators/amazon_bedrock/chat/utils.py +++ b/integrations/amazon_bedrock/src/haystack_integrations/components/generators/amazon_bedrock/chat/utils.py @@ -4,7 +4,7 @@ import json import os import re -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any from botocore.eventstream import EventStream @@ -553,7 +553,7 @@ def _convert_event_to_streaming_chunk( # Initialize an empty StreamingChunk to return if no relevant event is found # (e.g. for messageStart and contentBlockStop) - base_meta = {"model": model, "received_at": datetime.now(timezone.utc).isoformat()} + base_meta = {"model": model, "received_at": datetime.now(UTC).isoformat()} streaming_chunk = StreamingChunk(content="", meta=base_meta) if "contentBlockStart" in event: diff --git a/integrations/amazon_sagemaker/pyproject.toml b/integrations/amazon_sagemaker/pyproject.toml index 3d59d168aa..c8b563a3f3 100644 --- a/integrations/amazon_sagemaker/pyproject.toml +++ b/integrations/amazon_sagemaker/pyproject.toml @@ -10,7 +10,7 @@ name = "amazon-sagemaker-haystack" dynamic = ["version"] description = 'An integration of Amazon Sagemaker as an SagemakerGenerator component.' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/amazon_textract/pyproject.toml b/integrations/amazon_textract/pyproject.toml index e632ecd5c3..c5b29105da 100644 --- a/integrations/amazon_textract/pyproject.toml +++ b/integrations/amazon_textract/pyproject.toml @@ -7,7 +7,7 @@ name = "amazon-textract-haystack" dynamic = ["version"] description = "Haystack integration for AWS Textract document text extraction and analysis" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "AWS", @@ -22,7 +22,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/anthropic/pyproject.toml b/integrations/anthropic/pyproject.toml index 26c8f88d7b..86645380aa 100644 --- a/integrations/anthropic/pyproject.toml +++ b/integrations/anthropic/pyproject.toml @@ -7,7 +7,7 @@ name = "anthropic-haystack" dynamic = ["version"] description = 'An integration of Anthropic Claude models into the Haystack framework.' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/anthropic/src/haystack_integrations/components/generators/anthropic/chat/chat_generator.py b/integrations/anthropic/src/haystack_integrations/components/generators/anthropic/chat/chat_generator.py index 9416ccc442..af052a3a79 100644 --- a/integrations/anthropic/src/haystack_integrations/components/generators/anthropic/chat/chat_generator.py +++ b/integrations/anthropic/src/haystack_integrations/components/generators/anthropic/chat/chat_generator.py @@ -1,5 +1,5 @@ import inspect -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any, ClassVar from haystack import component, default_from_dict, default_to_dict, logging @@ -441,7 +441,7 @@ def _process_response( reasoning = _process_reasoning_contents(chunks) completion.meta.update( - {"received_at": datetime.now(timezone.utc).isoformat(), "model": model}, + {"received_at": datetime.now(UTC).isoformat(), "model": model}, ) # `completion.meta["usage"]` is the usage of the last message_delta chunk @@ -527,7 +527,7 @@ async def _process_response_async( reasoning = _process_reasoning_contents(chunks) completion.meta.update( - {"received_at": datetime.now(timezone.utc).isoformat(), "model": model}, + {"received_at": datetime.now(UTC).isoformat(), "model": model}, ) # `completion.meta["usage"]` is the usage of the last message_delta chunk diff --git a/integrations/arangodb/pyproject.toml b/integrations/arangodb/pyproject.toml index 42a90dfa88..07f580908c 100644 --- a/integrations/arangodb/pyproject.toml +++ b/integrations/arangodb/pyproject.toml @@ -7,7 +7,7 @@ name = "arangodb-haystack" dynamic = ["version"] description = "Haystack integration for arangodb" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["arangodb", "document-store", "vector-search", "haystack", "llm", "rag"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/arcadedb/pyproject.toml b/integrations/arcadedb/pyproject.toml index 149668806d..c01a23c34f 100644 --- a/integrations/arcadedb/pyproject.toml +++ b/integrations/arcadedb/pyproject.toml @@ -7,7 +7,7 @@ name = "arcadedb-haystack" dynamic = ["version"] description = "An integration of ArcadeDB with Haystack — document storage + HNSW vector search + SQL filtering" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["arcadedb", "haystack", "vector-search", "document-store", "rag"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }, { name = "ArcadeData Ltd", email = "info@arcadedb.com" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/astra/pyproject.toml b/integrations/astra/pyproject.toml index a08dd38abf..1601b4aaa9 100644 --- a/integrations/astra/pyproject.toml +++ b/integrations/astra/pyproject.toml @@ -7,7 +7,7 @@ name = "astra-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }, { name = "Anant Corporation", email = "support@anant.us" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/azure_ai_search/pyproject.toml b/integrations/azure_ai_search/pyproject.toml index 5829d26e58..df6a2ce085 100644 --- a/integrations/azure_ai_search/pyproject.toml +++ b/integrations/azure_ai_search/pyproject.toml @@ -7,7 +7,7 @@ name = "azure-ai-search-haystack" dynamic = ["version"] description = 'Haystack 2.x Document Store for Azure AI Search' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/azure_ai_search/tests/test_document_store.py b/integrations/azure_ai_search/tests/test_document_store.py index 4ff2e8461e..690dcfdd27 100644 --- a/integrations/azure_ai_search/tests/test_document_store.py +++ b/integrations/azure_ai_search/tests/test_document_store.py @@ -5,7 +5,7 @@ import logging import os import random -from datetime import datetime, timezone +from datetime import UTC, datetime from unittest.mock import Mock, patch import pytest @@ -870,8 +870,8 @@ def test_comparison_greater_than_with_iso_date(self, document_store, filterable_ d for d in filterable_docs if d.meta.get("date") is not None - and datetime.strptime(d.meta["date"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) - > datetime.strptime("1972-12-11T19:54:58Z", "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) + and datetime.strptime(d.meta["date"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=UTC) + > datetime.strptime("1972-12-11T19:54:58Z", "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=UTC) ], ) @@ -887,8 +887,8 @@ def test_comparison_greater_than_equal_with_iso_date(self, document_store, filte d for d in filterable_docs if d.meta.get("date") is not None - and datetime.strptime(d.meta["date"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) - >= datetime.strptime("1969-07-21T20:17:40Z", "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) + and datetime.strptime(d.meta["date"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=UTC) + >= datetime.strptime("1969-07-21T20:17:40Z", "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=UTC) ], ) @@ -904,8 +904,8 @@ def test_comparison_less_than_with_iso_date(self, document_store, filterable_doc d for d in filterable_docs if d.meta.get("date") is not None - and datetime.strptime(d.meta["date"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) - < datetime.strptime("1969-07-21T20:17:40Z", "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) + and datetime.strptime(d.meta["date"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=UTC) + < datetime.strptime("1969-07-21T20:17:40Z", "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=UTC) ], ) @@ -921,8 +921,8 @@ def test_comparison_less_than_equal_with_iso_date(self, document_store, filterab d for d in filterable_docs if d.meta.get("date") is not None - and datetime.strptime(d.meta["date"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) - <= datetime.strptime("1969-07-21T20:17:40Z", "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) + and datetime.strptime(d.meta["date"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=UTC) + <= datetime.strptime("1969-07-21T20:17:40Z", "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=UTC) ], ) diff --git a/integrations/azure_doc_intelligence/pyproject.toml b/integrations/azure_doc_intelligence/pyproject.toml index 3aa3d948c9..05e45bcc48 100644 --- a/integrations/azure_doc_intelligence/pyproject.toml +++ b/integrations/azure_doc_intelligence/pyproject.toml @@ -7,7 +7,7 @@ name = "azure-doc-intelligence-haystack" dynamic = ["version"] description = "Haystack integration for Azure Document Intelligence" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "Azure", @@ -24,7 +24,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/azure_documentdb/pyproject.toml b/integrations/azure_documentdb/pyproject.toml index e8216c0a60..8082616b5e 100644 --- a/integrations/azure_documentdb/pyproject.toml +++ b/integrations/azure_documentdb/pyproject.toml @@ -7,7 +7,7 @@ name = "azure-documentdb-haystack" dynamic = ["version"] description = "An integration of Azure DocumentDB with Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "azure", "documentdb", "vector-search", "rag"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/azure_form_recognizer/pyproject.toml b/integrations/azure_form_recognizer/pyproject.toml index 6fedb29843..78c5d2f2ca 100644 --- a/integrations/azure_form_recognizer/pyproject.toml +++ b/integrations/azure_form_recognizer/pyproject.toml @@ -7,7 +7,7 @@ name = "azure-form-recognizer-haystack" dynamic = ["version"] description = "Haystack integration for Azure Document Intelligence using the Form Recognizer SDK" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "Azure", @@ -25,7 +25,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/brave/pyproject.toml b/integrations/brave/pyproject.toml index 81424bfce4..2252893f3e 100644 --- a/integrations/brave/pyproject.toml +++ b/integrations/brave/pyproject.toml @@ -7,7 +7,7 @@ name = "brave-haystack" dynamic = ["version"] description = "Haystack integration for Brave Search API" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Brave", "Web Search", "AI Search"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/chonkie/pyproject.toml b/integrations/chonkie/pyproject.toml index 7169c0bb7b..e1edec20c1 100644 --- a/integrations/chonkie/pyproject.toml +++ b/integrations/chonkie/pyproject.toml @@ -7,7 +7,7 @@ name = "chonkie-haystack" dynamic = ["version"] description = "Haystack integration for chonkie" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/chroma/pyproject.toml b/integrations/chroma/pyproject.toml index efea6f00a4..00e44b79a8 100644 --- a/integrations/chroma/pyproject.toml +++ b/integrations/chroma/pyproject.toml @@ -7,7 +7,7 @@ name = "chroma-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/cognee/pyproject.toml b/integrations/cognee/pyproject.toml index 96ade0ef29..0ed646cf39 100644 --- a/integrations/cognee/pyproject.toml +++ b/integrations/cognee/pyproject.toml @@ -7,7 +7,7 @@ name = "cognee-haystack" dynamic = ["version"] description = "Haystack integration for Cognee — memory for AI agents" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 3 - Alpha", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", @@ -30,13 +29,6 @@ dependencies = [ # wheels and caps requires-python at <3.14, so on Python 3.14 constrain to the last pure-Python # release. "litellm<1.83.8; python_version >= '3.14'", - # On Python 3.10, litellm 1.98.0 imports `NotRequired` from `typing` (3.11+ only), so `import - # litellm` fails outright even though litellm still declares requires-python >=3.10. 1.97.0 - # imports, but leaves the `Message` pydantic model with an unresolved forward reference, so every - # completion raises (BerriAI/litellm#36384). 1.96.2 is the last release that works on 3.10; both - # regressions are fixed for 3.11+ in 1.98.0, so only 3.10 needs the cap. Drop it once a release - # imports and completes on 3.10 again. - "litellm<1.97.0; python_version < '3.11'", ] [project.urls] diff --git a/integrations/cohere/pyproject.toml b/integrations/cohere/pyproject.toml index 88492fc4e8..bbc46f012a 100644 --- a/integrations/cohere/pyproject.toml +++ b/integrations/cohere/pyproject.toml @@ -7,7 +7,7 @@ name = "cohere-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/cometapi/pyproject.toml b/integrations/cometapi/pyproject.toml index 34ab4bc9bd..d2766fc005 100644 --- a/integrations/cometapi/pyproject.toml +++ b/integrations/cometapi/pyproject.toml @@ -7,7 +7,7 @@ name = "cometapi-haystack" dynamic = ["version"] description = 'Use Comet API with Haystack to build AI applications with 500+ AI models.' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/datadog/pyproject.toml b/integrations/datadog/pyproject.toml index c79ce4bcf1..d6081fa4a6 100644 --- a/integrations/datadog/pyproject.toml +++ b/integrations/datadog/pyproject.toml @@ -7,7 +7,7 @@ name = "datadog-haystack" dynamic = ["version"] description = "Haystack integration for datadog" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/ddgs/pyproject.toml b/integrations/ddgs/pyproject.toml index 5628d4e2d0..edfb759ed4 100644 --- a/integrations/ddgs/pyproject.toml +++ b/integrations/ddgs/pyproject.toml @@ -7,7 +7,7 @@ name = "ddgs-haystack" dynamic = ["version"] description = "Haystack integration for ddgs" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "web search", "websearch", "ddgs", "duckduckgo", "metasearch", "agent tool"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/deepeval/pyproject.toml b/integrations/deepeval/pyproject.toml index 4143ee8b1a..138e0aad20 100644 --- a/integrations/deepeval/pyproject.toml +++ b/integrations/deepeval/pyproject.toml @@ -7,7 +7,7 @@ name = "deepeval-haystack" dynamic = ["version"] description = 'An integration of DeepEval LLM evaluation framework with Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", @@ -78,7 +77,6 @@ module = ["deepeval.*"] ignore_missing_imports = true [tool.ruff] -target-version = "py310" line-length = 120 [tool.ruff.lint] diff --git a/integrations/docling/pyproject.toml b/integrations/docling/pyproject.toml index fba0db644c..3d579803eb 100644 --- a/integrations/docling/pyproject.toml +++ b/integrations/docling/pyproject.toml @@ -7,7 +7,7 @@ name = "docling-haystack" dynamic = ["version"] description = "Haystack integration for docling" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "Docling", @@ -24,7 +24,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/docling/src/haystack_integrations/components/converters/docling/converter.py b/integrations/docling/src/haystack_integrations/components/converters/docling/converter.py index e3c9b9ee4d..2c6abb3529 100644 --- a/integrations/docling/src/haystack_integrations/components/converters/docling/converter.py +++ b/integrations/docling/src/haystack_integrations/components/converters/docling/converter.py @@ -46,7 +46,7 @@ def _bytestream_to_document_stream(source: ByteStream) -> DocumentStream: return DocumentStream(name=name, stream=BytesIO(source.data)) -class ExportType(str, Enum): +class ExportType(str, Enum): # noqa: UP042 # StrEnum would change str() of this public enum """Enumeration of available export types.""" MARKDOWN = "markdown" diff --git a/integrations/docling_serve/pyproject.toml b/integrations/docling_serve/pyproject.toml index 74fd1631ca..086634582b 100644 --- a/integrations/docling_serve/pyproject.toml +++ b/integrations/docling_serve/pyproject.toml @@ -7,7 +7,7 @@ name = "docling-serve-haystack" dynamic = ["version"] description = "Haystack converter component for DoclingServe — document conversion via HTTP" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Docling", "DoclingServe", "document conversion", "PDF", "OCR"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/docling_serve/src/haystack_integrations/components/converters/docling_serve/converter.py b/integrations/docling_serve/src/haystack_integrations/components/converters/docling_serve/converter.py index 664e1fc0ce..348c22a3c1 100644 --- a/integrations/docling_serve/src/haystack_integrations/components/converters/docling_serve/converter.py +++ b/integrations/docling_serve/src/haystack_integrations/components/converters/docling_serve/converter.py @@ -27,7 +27,7 @@ _FAILED_CONVERSION_STATUSES = {"failure", "skipped"} -class ExportType(str, Enum): +class ExportType(str, Enum): # noqa: UP042 # StrEnum would change str() of this public enum """ Enumeration of export formats supported by DoclingServe. @@ -41,7 +41,7 @@ class ExportType(str, Enum): JSON = "json" -class ConversionMode(str, Enum): +class ConversionMode(str, Enum): # noqa: UP042 # StrEnum would change str() of this public enum """ Execution mode for DoclingServe conversions. diff --git a/integrations/dspy/pyproject.toml b/integrations/dspy/pyproject.toml index 517806ee8f..e4113f615e 100644 --- a/integrations/dspy/pyproject.toml +++ b/integrations/dspy/pyproject.toml @@ -7,7 +7,7 @@ name = "dspy-haystack" dynamic = ["version"] description = 'An integration between DSPy and Haystack for prompt optimization and structured generation' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "dspy", "prompt-optimization", "llm", "nlp"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }, { name = "Arsenii Shkunkov", email = "shkunkov.as@gmail.com" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/dynamodb/pyproject.toml b/integrations/dynamodb/pyproject.toml index 57cd6eeabd..2d09fddee1 100644 --- a/integrations/dynamodb/pyproject.toml +++ b/integrations/dynamodb/pyproject.toml @@ -7,7 +7,7 @@ name = "dynamodb-haystack" dynamic = ["version"] description = "Haystack integration for dynamodb" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "dynamodb", "aws", "vector-search", "document-store"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/e2b/pyproject.toml b/integrations/e2b/pyproject.toml index 4f526510df..0b5352ea8f 100644 --- a/integrations/e2b/pyproject.toml +++ b/integrations/e2b/pyproject.toml @@ -7,7 +7,7 @@ name = "e2b-haystack" dynamic = ["version"] description = "Haystack integration for E2B cloud sandboxes" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["E2B", "Haystack", "sandbox", "code execution", "tools"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/edenai/pyproject.toml b/integrations/edenai/pyproject.toml index 0c8dc6feeb..d410225e0b 100644 --- a/integrations/edenai/pyproject.toml +++ b/integrations/edenai/pyproject.toml @@ -7,7 +7,7 @@ name = "edenai-haystack" dynamic = ["version"] description = 'Use Eden AI with Haystack to build AI applications with 500+ AI models through one unified, OpenAI-compatible API.' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/elasticsearch/pyproject.toml b/integrations/elasticsearch/pyproject.toml index a35e0f8d6a..f303b8f774 100644 --- a/integrations/elasticsearch/pyproject.toml +++ b/integrations/elasticsearch/pyproject.toml @@ -7,7 +7,7 @@ name = "elasticsearch-haystack" dynamic = ["version"] description = 'Haystack 2.x Document Store for ElasticSearch' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }, { name = "Silvano Cerza", email = "silvanocerza@gmail.com" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/faiss/pyproject.toml b/integrations/faiss/pyproject.toml index e805092196..b7ce9990b1 100644 --- a/integrations/faiss/pyproject.toml +++ b/integrations/faiss/pyproject.toml @@ -7,7 +7,7 @@ name = "faiss-haystack" dynamic = ["version"] description = 'An integration of FAISS (library for efficient similarity search of dense vectors) with Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/falkordb/pyproject.toml b/integrations/falkordb/pyproject.toml index 0806d6ecf1..69bb4beb2b 100644 --- a/integrations/falkordb/pyproject.toml +++ b/integrations/falkordb/pyproject.toml @@ -7,7 +7,7 @@ name = "falkordb-haystack" dynamic = ["version"] description = "FalkorDB graph database integration for Haystack — enables GraphRAG with OpenCypher" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "falkordb", "graphrag", "graph", "vector-search", "document-store", "rag", "openCypher", "graph-database"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/fastembed/pyproject.toml b/integrations/fastembed/pyproject.toml index c140663bf3..bf1d47ad75 100644 --- a/integrations/fastembed/pyproject.toml +++ b/integrations/fastembed/pyproject.toml @@ -7,7 +7,7 @@ name = "fastembed-haystack" dynamic = ["version"] description = "Haystack 2.x component to embed strings and Documents using fastembed embedding model" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/firecrawl/pyproject.toml b/integrations/firecrawl/pyproject.toml index 12b4493823..d5b5af2531 100644 --- a/integrations/firecrawl/pyproject.toml +++ b/integrations/firecrawl/pyproject.toml @@ -7,7 +7,7 @@ name = "firecrawl-haystack" dynamic = ["version"] description = "Haystack integration for Firecrawl" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "Firecrawl", @@ -23,7 +23,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/firecrawl/src/haystack_integrations/components/fetchers/firecrawl/firecrawl_crawler.py b/integrations/firecrawl/src/haystack_integrations/components/fetchers/firecrawl/firecrawl_crawler.py index c5c4cf3f66..6f1fc22e02 100644 --- a/integrations/firecrawl/src/haystack_integrations/components/fetchers/firecrawl/firecrawl_crawler.py +++ b/integrations/firecrawl/src/haystack_integrations/components/fetchers/firecrawl/firecrawl_crawler.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: Apache-2.0 -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any from haystack import Document, component, logging @@ -157,7 +157,7 @@ def _documents_from_crawl_response(self, url: str, crawl_response: Any) -> list[ doc = Document( content=page.markdown, meta={ - "timestamp": datetime.now(tz=timezone.utc).isoformat(), + "timestamp": datetime.now(tz=UTC).isoformat(), **metadata, }, ) diff --git a/integrations/funasr/pyproject.toml b/integrations/funasr/pyproject.toml index ad8f7d669e..387b15698a 100644 --- a/integrations/funasr/pyproject.toml +++ b/integrations/funasr/pyproject.toml @@ -7,7 +7,7 @@ name = "funasr-haystack" dynamic = ["version"] description = "FunASR speech-to-text transcriber for Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["funasr", "speech-to-text", "asr", "audio", "transcription", "haystack", "llm", "rag"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/github/pyproject.toml b/integrations/github/pyproject.toml index f735f7c95e..5c1d7b8744 100644 --- a/integrations/github/pyproject.toml +++ b/integrations/github/pyproject.toml @@ -7,7 +7,7 @@ name = "github-haystack" dynamic = ["version"] description = 'Haystack components for interacting with GitHub repositories' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/github/src/haystack_integrations/components/connectors/github/file_editor.py b/integrations/github/src/haystack_integrations/components/connectors/github/file_editor.py index eb17606f2b..2cc7afafcb 100644 --- a/integrations/github/src/haystack_integrations/components/connectors/github/file_editor.py +++ b/integrations/github/src/haystack_integrations/components/connectors/github/file_editor.py @@ -12,7 +12,7 @@ logger = logging.getLogger(__name__) -class Command(str, Enum): +class Command(str, Enum): # noqa: UP042 # StrEnum would change str() of this public enum """ Available commands for file operations in GitHub. diff --git a/integrations/google_drive/pyproject.toml b/integrations/google_drive/pyproject.toml index 2e6652d500..1525447c9c 100644 --- a/integrations/google_drive/pyproject.toml +++ b/integrations/google_drive/pyproject.toml @@ -7,7 +7,7 @@ name = "google-drive-haystack" dynamic = ["version"] description = "Haystack integration for google_drive" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "haystack", @@ -21,7 +21,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/google_genai/pyproject.toml b/integrations/google_genai/pyproject.toml index 97fc351e51..b90ce2bf05 100644 --- a/integrations/google_genai/pyproject.toml +++ b/integrations/google_genai/pyproject.toml @@ -7,7 +7,7 @@ name = "google-genai-haystack" dynamic = ["version"] description = 'Use models like Gemini via Google Gen AI SDK' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/google_genai/src/haystack_integrations/components/embedders/google_genai/multimodal_document_embedder.py b/integrations/google_genai/src/haystack_integrations/components/embedders/google_genai/multimodal_document_embedder.py index bc982c0a7e..d4d7786150 100644 --- a/integrations/google_genai/src/haystack_integrations/components/embedders/google_genai/multimodal_document_embedder.py +++ b/integrations/google_genai/src/haystack_integrations/components/embedders/google_genai/multimodal_document_embedder.py @@ -6,7 +6,7 @@ import mimetypes from dataclasses import replace from pathlib import Path -from typing import Any, Literal +from typing import Any, Literal, NotRequired from google.genai import Client from google.genai.client import AsyncClient @@ -21,7 +21,7 @@ from haystack.utils import Secret, deserialize_secrets_inplace from tqdm import tqdm from tqdm.asyncio import tqdm as async_tqdm -from typing_extensions import NotRequired, TypedDict +from typing_extensions import TypedDict from haystack_integrations.common.google_genai.utils import _get_client diff --git a/integrations/google_genai/src/haystack_integrations/components/generators/google_genai/chat/utils.py b/integrations/google_genai/src/haystack_integrations/components/generators/google_genai/chat/utils.py index 92f65f0986..e397ffa140 100644 --- a/integrations/google_genai/src/haystack_integrations/components/generators/google_genai/chat/utils.py +++ b/integrations/google_genai/src/haystack_integrations/components/generators/google_genai/chat/utils.py @@ -4,7 +4,7 @@ import base64 import json -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any from google.genai import types @@ -697,7 +697,7 @@ def _convert_google_chunk_to_streaming_chunk( start = index == 0 or len(tool_calls) > 0 meta: dict[str, Any] = { - "received_at": datetime.now(timezone.utc).isoformat(), + "received_at": datetime.now(UTC).isoformat(), "model": model, "usage": usage, } diff --git a/integrations/gotenberg/pyproject.toml b/integrations/gotenberg/pyproject.toml index d91b01edbb..260c212d6d 100644 --- a/integrations/gotenberg/pyproject.toml +++ b/integrations/gotenberg/pyproject.toml @@ -7,7 +7,7 @@ name = "gotenberg-haystack" dynamic = ["version"] description = "Gotenberg document to PDF converter integration for Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "gotenberg", "libreoffice", "pdf", "document-conversion"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }, { name = "Max Swain" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/gotenberg/src/haystack_integrations/components/converters/gotenberg/converter.py b/integrations/gotenberg/src/haystack_integrations/components/converters/gotenberg/converter.py index 6c8b90f9cc..21861ea5ac 100644 --- a/integrations/gotenberg/src/haystack_integrations/components/converters/gotenberg/converter.py +++ b/integrations/gotenberg/src/haystack_integrations/components/converters/gotenberg/converter.py @@ -6,14 +6,13 @@ import mimetypes import re from pathlib import Path -from typing import Any, Literal +from typing import Any, Literal, Self import httpx2 from haystack import component, default_from_dict, default_to_dict from haystack.components.converters.utils import normalize_metadata from haystack.dataclasses import ByteStream from httpx2._types import FileTypes, RequestFiles -from typing_extensions import Self _Route = Literal["libreoffice", "html", "markdown", "url"] # Supported Gotenberg LibreOffice conversion input formats: diff --git a/integrations/hanlp/pyproject.toml b/integrations/hanlp/pyproject.toml index a0c2d2cdf3..54eac76d31 100644 --- a/integrations/hanlp/pyproject.toml +++ b/integrations/hanlp/pyproject.toml @@ -7,7 +7,7 @@ name = "hanlp-haystack" dynamic = ["version"] description = 'An integration of Han Language Processing - HanLP as a ChineseDocumentSplitter component.' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/hetzner/pyproject.toml b/integrations/hetzner/pyproject.toml index 765498d0e4..3e1d37a264 100644 --- a/integrations/hetzner/pyproject.toml +++ b/integrations/hetzner/pyproject.toml @@ -7,7 +7,7 @@ name = "hetzner-haystack" dynamic = ["version"] description = 'An integration between the Hetzner Inference API and Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "hetzner", "inference", "llm", "chat generator", "qwen"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/huggingface_api/pyproject.toml b/integrations/huggingface_api/pyproject.toml index f907ee0cc1..1c5de72fc7 100644 --- a/integrations/huggingface_api/pyproject.toml +++ b/integrations/huggingface_api/pyproject.toml @@ -7,7 +7,7 @@ name = "huggingface-api-haystack" dynamic = ["version"] description = "Haystack integration for Hugging Face API" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/huggingface_api/src/haystack_integrations/components/generators/huggingface_api/chat/chat_generator.py b/integrations/huggingface_api/src/haystack_integrations/components/generators/huggingface_api/chat/chat_generator.py index 8b0a67495f..a27050919b 100644 --- a/integrations/huggingface_api/src/haystack_integrations/components/generators/huggingface_api/chat/chat_generator.py +++ b/integrations/huggingface_api/src/haystack_integrations/components/generators/huggingface_api/chat/chat_generator.py @@ -5,7 +5,7 @@ import inspect import json from collections.abc import AsyncIterable, Iterable -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any, Union from haystack import component, default_from_dict, default_to_dict, logging @@ -221,7 +221,7 @@ def _convert_chat_completion_stream_output_to_streaming_chunk( usage = {"prompt_tokens": chunk.usage.prompt_tokens, "completion_tokens": chunk.usage.completion_tokens} return StreamingChunk( content="", - meta={"model": chunk.model, "received_at": datetime.now(timezone.utc).isoformat(), "usage": usage}, + meta={"model": chunk.model, "received_at": datetime.now(UTC).isoformat(), "usage": usage}, component_info=component_info, ) @@ -238,7 +238,7 @@ def _convert_chat_completion_stream_output_to_streaming_chunk( content=choice.delta.content or "", meta={ "model": chunk.model, - "received_at": datetime.now(timezone.utc).isoformat(), + "received_at": datetime.now(UTC).isoformat(), "finish_reason": choice.finish_reason, }, component_info=component_info, diff --git a/integrations/huggingface_api/src/haystack_integrations/components/rankers/huggingface_api/ranker.py b/integrations/huggingface_api/src/haystack_integrations/components/rankers/huggingface_api/ranker.py index 394ff9ed34..6c049f72d8 100644 --- a/integrations/huggingface_api/src/haystack_integrations/components/rankers/huggingface_api/ranker.py +++ b/integrations/huggingface_api/src/haystack_integrations/components/rankers/huggingface_api/ranker.py @@ -21,7 +21,7 @@ from grpc_requests.aio import AsyncClient -class TruncationDirection(str, Enum): +class TruncationDirection(str, Enum): # noqa: UP042 # StrEnum would change str() of this public enum """ Defines the direction to truncate text when input length exceeds the model's limit. diff --git a/integrations/huggingface_api/tests/test_chat_generator.py b/integrations/huggingface_api/tests/test_chat_generator.py index 02c46f7177..ab960c0599 100644 --- a/integrations/huggingface_api/tests/test_chat_generator.py +++ b/integrations/huggingface_api/tests/test_chat_generator.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import os -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any from unittest.mock import AsyncMock, MagicMock, Mock, patch @@ -935,7 +935,7 @@ def test_live_run_serverless_streaming(self): response_meta = response["replies"][0].meta assert "completion_start_time" in response_meta - assert datetime.fromisoformat(response_meta["completion_start_time"]) <= datetime.now(timezone.utc) + assert datetime.fromisoformat(response_meta["completion_start_time"]) <= datetime.now(UTC) assert "usage" in response_meta assert "prompt_tokens" in response_meta["usage"] assert response_meta["usage"]["prompt_tokens"] >= 0 diff --git a/integrations/ibm_db/pyproject.toml b/integrations/ibm_db/pyproject.toml index bc61594dc5..0d28a8a9d3 100644 --- a/integrations/ibm_db/pyproject.toml +++ b/integrations/ibm_db/pyproject.toml @@ -7,7 +7,7 @@ name = "ibm-db-haystack" dynamic = ["version"] description = "Haystack integration for IBM Db2" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/ibm_db/tests/test_document_store.py b/integrations/ibm_db/tests/test_document_store.py index 82bd40f766..0d217fe62c 100644 --- a/integrations/ibm_db/tests/test_document_store.py +++ b/integrations/ibm_db/tests/test_document_store.py @@ -6,7 +6,7 @@ import math import sys -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta from unittest.mock import MagicMock, Mock import pytest @@ -75,8 +75,8 @@ def _generate_self_signed_cert_pem() -> bytes: .issuer_name(issuer) .public_key(private_key.public_key()) .serial_number(x509.random_serial_number()) - .not_valid_before(datetime.now(timezone.utc)) - .not_valid_after(datetime.now(timezone.utc) + timedelta(days=365)) + .not_valid_before(datetime.now(UTC)) + .not_valid_after(datetime.now(UTC) + timedelta(days=365)) .add_extension( x509.SubjectAlternativeName([x509.DNSName("localhost")]), critical=False, diff --git a/integrations/jina/pyproject.toml b/integrations/jina/pyproject.toml index 6cf88286c8..559fa0aaaf 100644 --- a/integrations/jina/pyproject.toml +++ b/integrations/jina/pyproject.toml @@ -7,7 +7,7 @@ name = "jina-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/kreuzberg/pyproject.toml b/integrations/kreuzberg/pyproject.toml index f55b661b7e..0cf2635301 100644 --- a/integrations/kreuzberg/pyproject.toml +++ b/integrations/kreuzberg/pyproject.toml @@ -18,7 +18,7 @@ name = "kreuzberg-haystack" dynamic = ["version"] description = "Kreuzberg document converter for Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "kreuzberg", "document-conversion", "pdf", "ocr"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -26,7 +26,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/langdetect/pyproject.toml b/integrations/langdetect/pyproject.toml index 57f94fda08..7c2edba165 100644 --- a/integrations/langdetect/pyproject.toml +++ b/integrations/langdetect/pyproject.toml @@ -7,7 +7,7 @@ name = "langdetect-haystack" dynamic = ["version"] description = "Haystack integration for langdetect" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "langdetect", "language detection", "language classification", "language routing"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/langfuse/pyproject.toml b/integrations/langfuse/pyproject.toml index 71dd2d84c3..6a5ac46bb1 100644 --- a/integrations/langfuse/pyproject.toml +++ b/integrations/langfuse/pyproject.toml @@ -7,14 +7,13 @@ name = "langfuse-haystack" dynamic = ["version"] description = "Langfuse integration for Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] classifiers = [ "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/lara/pyproject.toml b/integrations/lara/pyproject.toml index c261017973..942ba75edf 100644 --- a/integrations/lara/pyproject.toml +++ b/integrations/lara/pyproject.toml @@ -7,7 +7,7 @@ name = "lara-haystack" dynamic = ["version"] description = "Haystack integration for Lara, translated's AI translator" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "Haystack", @@ -22,7 +22,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/libreoffice/pyproject.toml b/integrations/libreoffice/pyproject.toml index 025df1383b..7d43de8a49 100644 --- a/integrations/libreoffice/pyproject.toml +++ b/integrations/libreoffice/pyproject.toml @@ -7,7 +7,7 @@ name = "libreoffice-haystack" dynamic = ["version"] description = "LibreOffice integration for Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }, { name = "Max Swain" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/libreoffice/src/haystack_integrations/components/converters/libreoffice/converter.py b/integrations/libreoffice/src/haystack_integrations/components/converters/libreoffice/converter.py index e38dcb82ed..e7e4821cc2 100644 --- a/integrations/libreoffice/src/haystack_integrations/components/converters/libreoffice/converter.py +++ b/integrations/libreoffice/src/haystack_integrations/components/converters/libreoffice/converter.py @@ -10,11 +10,10 @@ from collections.abc import Iterable from pathlib import Path from tempfile import TemporaryDirectory -from typing import Any, ClassVar, Literal, TypedDict, get_args +from typing import Any, ClassVar, Literal, Self, TypedDict, get_args from haystack import component, default_from_dict, default_to_dict from haystack.dataclasses import ByteStream -from typing_extensions import Self OUTPUT_FILE_TYPE = Literal[ "pdf", diff --git a/integrations/linkup/pyproject.toml b/integrations/linkup/pyproject.toml index bbe41b7930..107de130af 100644 --- a/integrations/linkup/pyproject.toml +++ b/integrations/linkup/pyproject.toml @@ -7,7 +7,7 @@ name = "linkup-haystack" dynamic = ["version"] description = "Haystack integration for Linkup Search API" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Linkup", "Web Search", "AI Search"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/litellm/pyproject.toml b/integrations/litellm/pyproject.toml index bf7c0b9a20..4b3f7b1940 100644 --- a/integrations/litellm/pyproject.toml +++ b/integrations/litellm/pyproject.toml @@ -7,7 +7,7 @@ name = "litellm-haystack" dynamic = ["version"] description = "An integration of LiteLLM AI gateway into the Haystack framework, routing to 100+ LLM providers." readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "litellm", "llm", "ai-gateway"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/llama_cpp/pyproject.toml b/integrations/llama_cpp/pyproject.toml index e5d85592a0..fe2a7955ee 100644 --- a/integrations/llama_cpp/pyproject.toml +++ b/integrations/llama_cpp/pyproject.toml @@ -7,7 +7,7 @@ name = "llama-cpp-haystack" dynamic = ["version"] description = 'An integration between the llama.cpp LLM framework and Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/llama_cpp/src/haystack_integrations/components/generators/llama_cpp/chat/chat_generator.py b/integrations/llama_cpp/src/haystack_integrations/components/generators/llama_cpp/chat/chat_generator.py index ec52148b7b..a67e72819a 100644 --- a/integrations/llama_cpp/src/haystack_integrations/components/generators/llama_cpp/chat/chat_generator.py +++ b/integrations/llama_cpp/src/haystack_integrations/components/generators/llama_cpp/chat/chat_generator.py @@ -5,7 +5,7 @@ import asyncio import json from collections.abc import Iterator -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any from haystack import component, default_from_dict, default_to_dict, logging @@ -550,7 +550,7 @@ def _handle_streaming_response( finish_reason=mapped_finish_reason, meta={ "model": chunk["model"], - "received_at": datetime.fromtimestamp(chunk["created"], tz=timezone.utc).isoformat(), + "received_at": datetime.fromtimestamp(chunk["created"], tz=UTC).isoformat(), }, # llama.cpp does not provide usage metadata during streaming ) diff --git a/integrations/llama_stack/pyproject.toml b/integrations/llama_stack/pyproject.toml index 0708eb32cf..98ac6e13d5 100644 --- a/integrations/llama_stack/pyproject.toml +++ b/integrations/llama_stack/pyproject.toml @@ -75,7 +75,6 @@ disallow_incomplete_defs = true [tool.ruff] -target-version = "py39" line-length = 120 [tool.ruff.lint] diff --git a/integrations/mariadb/pyproject.toml b/integrations/mariadb/pyproject.toml index f6af157ff2..a7a3fbed1f 100644 --- a/integrations/mariadb/pyproject.toml +++ b/integrations/mariadb/pyproject.toml @@ -7,7 +7,7 @@ name = "mariadb-haystack" dynamic = ["version"] description = "An integration of MariaDB 11.7+ (native VECTOR support) with Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/markitdown/pyproject.toml b/integrations/markitdown/pyproject.toml index 30f0e9f45c..ddb9f5b5e4 100644 --- a/integrations/markitdown/pyproject.toml +++ b/integrations/markitdown/pyproject.toml @@ -7,7 +7,7 @@ name = "markitdown-haystack" dynamic = ["version"] description = "Haystack integration for MarkItDown — Microsoft's multi-format to Markdown converter" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "MarkItDown", "document-conversion", "markdown", "pdf", "docx"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/mcp/pyproject.toml b/integrations/mcp/pyproject.toml index 53970ae482..9401bb9b7a 100644 --- a/integrations/mcp/pyproject.toml +++ b/integrations/mcp/pyproject.toml @@ -7,7 +7,7 @@ name = "mcp-haystack" dynamic = ["version"] description = "Haystack integration for Model Context Protocol (MCP)" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "MCP", @@ -21,7 +21,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", @@ -31,7 +30,6 @@ classifiers = [ dependencies = [ "mcp>=1.24.0", "haystack-ai>=2.23.0", - "exceptiongroup", # Backport of ExceptionGroup for Python < 3.11 ] [project.urls] @@ -88,7 +86,6 @@ disallow_incomplete_defs = true [tool.ruff] -target-version = "py310" line-length = 120 [tool.ruff.lint] diff --git a/integrations/mcp/src/haystack_integrations/tools/mcp/mcp_tool.py b/integrations/mcp/src/haystack_integrations/tools/mcp/mcp_tool.py index 8588cfaead..4f4b39b285 100644 --- a/integrations/mcp/src/haystack_integrations/tools/mcp/mcp_tool.py +++ b/integrations/mcp/src/haystack_integrations/tools/mcp/mcp_tool.py @@ -17,7 +17,6 @@ from dataclasses import dataclass, fields from typing import Any, cast -from exceptiongroup import ExceptionGroup from haystack import logging from haystack.core.serialization import generate_qualified_class_name, import_class_by_name from haystack.tools import Tool @@ -1121,7 +1120,7 @@ async def ainvoke(self, **kwargs: Any) -> str | dict[str, Any]: return _extract_first_text_element(result) return result - except asyncio.TimeoutError as e: + except TimeoutError as e: message = f"Tool invocation timed out after {self._invocation_timeout} seconds" raise TimeoutError(message) from e except Exception as e: diff --git a/integrations/mcp/src/haystack_integrations/tools/mcp/mcp_toolset.py b/integrations/mcp/src/haystack_integrations/tools/mcp/mcp_toolset.py index 3e4eb5d046..5fb2451fc7 100644 --- a/integrations/mcp/src/haystack_integrations/tools/mcp/mcp_toolset.py +++ b/integrations/mcp/src/haystack_integrations/tools/mcp/mcp_toolset.py @@ -7,7 +7,6 @@ from typing import Any, cast from urllib.parse import urlparse -from exceptiongroup import ExceptionGroup from haystack import logging from haystack.core.serialization import generate_qualified_class_name, import_class_by_name from haystack.tools import Tool, Toolset diff --git a/integrations/mcp/tests/test_mcp_tool.py b/integrations/mcp/tests/test_mcp_tool.py index 6cabc875dc..f6a434686b 100644 --- a/integrations/mcp/tests/test_mcp_tool.py +++ b/integrations/mcp/tests/test_mcp_tool.py @@ -6,7 +6,6 @@ from unittest.mock import AsyncMock, MagicMock, patch import pytest -from exceptiongroup import ExceptionGroup from haystack.components.agents import Agent from haystack.components.generators.chat import OpenAIChatGenerator from haystack.core.pipeline import Pipeline diff --git a/integrations/mem0/pyproject.toml b/integrations/mem0/pyproject.toml index e555795965..396a2b19b7 100644 --- a/integrations/mem0/pyproject.toml +++ b/integrations/mem0/pyproject.toml @@ -7,7 +7,7 @@ name = "mem0-haystack" dynamic = ["version"] description = "Haystack integration for mem0" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "mem0", "memory", "agents", "llm"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/microsoft_sharepoint/pyproject.toml b/integrations/microsoft_sharepoint/pyproject.toml index 74875a03bd..6494cef4e4 100644 --- a/integrations/microsoft_sharepoint/pyproject.toml +++ b/integrations/microsoft_sharepoint/pyproject.toml @@ -7,7 +7,7 @@ name = "microsoft-sharepoint-haystack" dynamic = ["version"] description = "Haystack integration for microsoft_sharepoint" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "haystack", @@ -21,7 +21,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/mistral/pyproject.toml b/integrations/mistral/pyproject.toml index 34789b1c6c..e47b00ddc9 100644 --- a/integrations/mistral/pyproject.toml +++ b/integrations/mistral/pyproject.toml @@ -7,7 +7,7 @@ name = "mistral-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/mongodb_atlas/pyproject.toml b/integrations/mongodb_atlas/pyproject.toml index bae4677bef..b8f97809e7 100644 --- a/integrations/mongodb_atlas/pyproject.toml +++ b/integrations/mongodb_atlas/pyproject.toml @@ -7,7 +7,7 @@ name = "mongodb-atlas-haystack" dynamic = ["version"] description = "An integration of MongoDB Atlas with Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/monty/pyproject.toml b/integrations/monty/pyproject.toml index ec151c9ff0..135ec78ba8 100644 --- a/integrations/monty/pyproject.toml +++ b/integrations/monty/pyproject.toml @@ -7,7 +7,7 @@ name = "monty-haystack" dynamic = ["version"] description = "Sandboxed Python code execution tool for Haystack Agents, powered by Pydantic Monty" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "monty", "pydantic", "sandbox", "code-execution", "agents", "tools"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/nvidia/pyproject.toml b/integrations/nvidia/pyproject.toml index eb12c8038b..d65d3d10bd 100644 --- a/integrations/nvidia/pyproject.toml +++ b/integrations/nvidia/pyproject.toml @@ -7,7 +7,7 @@ name = "nvidia-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/nvidia/src/haystack_integrations/components/rankers/nvidia/truncate.py b/integrations/nvidia/src/haystack_integrations/components/rankers/nvidia/truncate.py index 0d21a08441..d30edbfcb7 100644 --- a/integrations/nvidia/src/haystack_integrations/components/rankers/nvidia/truncate.py +++ b/integrations/nvidia/src/haystack_integrations/components/rankers/nvidia/truncate.py @@ -5,7 +5,7 @@ from enum import Enum -class RankerTruncateMode(str, Enum): +class RankerTruncateMode(str, Enum): # noqa: UP042 # StrEnum would change str() of this public enum """ Specifies how inputs to the NVIDIA ranker components are truncated. diff --git a/integrations/oauth/pyproject.toml b/integrations/oauth/pyproject.toml index 89bdae9b09..46d5cfeb15 100644 --- a/integrations/oauth/pyproject.toml +++ b/integrations/oauth/pyproject.toml @@ -7,7 +7,7 @@ name = "oauth-haystack" dynamic = ["version"] description = "Haystack integration for oauth" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "haystack", @@ -19,7 +19,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/ollama/pyproject.toml b/integrations/ollama/pyproject.toml index 76ddb75e6c..030135d802 100644 --- a/integrations/ollama/pyproject.toml +++ b/integrations/ollama/pyproject.toml @@ -7,7 +7,7 @@ name = "ollama-haystack" dynamic = ["version"] description = 'An integration between the Ollama LLM framework and Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -19,7 +19,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/openapi/pyproject.toml b/integrations/openapi/pyproject.toml index bd51f9f08d..aff64e0724 100644 --- a/integrations/openapi/pyproject.toml +++ b/integrations/openapi/pyproject.toml @@ -7,7 +7,7 @@ name = "openapi-haystack" dynamic = ["version"] description = "Haystack integration for openapi" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "openapi", "rest", "api", "connector", "function-calling"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/opendataloader_pdf/pyproject.toml b/integrations/opendataloader_pdf/pyproject.toml index 8a6f4e7f33..9f0dd7ccdd 100644 --- a/integrations/opendataloader_pdf/pyproject.toml +++ b/integrations/opendataloader_pdf/pyproject.toml @@ -7,7 +7,7 @@ name = "opendataloader-pdf-haystack" dynamic = ["version"] description = "Haystack integration for opendataloader_pdf" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/openrouter/pyproject.toml b/integrations/openrouter/pyproject.toml index 091d320627..91d8ad3ca7 100644 --- a/integrations/openrouter/pyproject.toml +++ b/integrations/openrouter/pyproject.toml @@ -7,7 +7,7 @@ name = "openrouter-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/opensearch/pyproject.toml b/integrations/opensearch/pyproject.toml index 5fb3452ba9..108617da63 100644 --- a/integrations/opensearch/pyproject.toml +++ b/integrations/opensearch/pyproject.toml @@ -7,7 +7,7 @@ name = "opensearch-haystack" dynamic = ["version"] description = 'Haystack 2.x Document Store for OpenSearch' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/opentelemetry/pyproject.toml b/integrations/opentelemetry/pyproject.toml index e4ff50b1c0..177eabca1e 100644 --- a/integrations/opentelemetry/pyproject.toml +++ b/integrations/opentelemetry/pyproject.toml @@ -7,7 +7,7 @@ name = "opentelemetry-haystack" dynamic = ["version"] description = "Haystack integration for opentelemetry" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "OpenTelemetry", "OTel", "tracing", "observability", "monitoring"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/optimum/pyproject.toml b/integrations/optimum/pyproject.toml index d06c88f741..da95f0f4fe 100644 --- a/integrations/optimum/pyproject.toml +++ b/integrations/optimum/pyproject.toml @@ -7,7 +7,7 @@ name = "optimum-haystack" dynamic = ["version"] description = "Component to embed strings and Documents using models loaded with the HuggingFace Optimum library. This component is designed to seamlessly inference models using the high speed ONNX runtime." readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/oracle/pyproject.toml b/integrations/oracle/pyproject.toml index a256274ab5..26f1e047aa 100644 --- a/integrations/oracle/pyproject.toml +++ b/integrations/oracle/pyproject.toml @@ -7,7 +7,7 @@ name = "oracle-haystack" dynamic = ["version"] description = "Oracle AI Vector Search DocumentStore integration for Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "oracle", "vector search", "document store", "RAG", "OCI"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 3 - Alpha", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/orcarouter/pyproject.toml b/integrations/orcarouter/pyproject.toml index 4239863877..9722e3b122 100644 --- a/integrations/orcarouter/pyproject.toml +++ b/integrations/orcarouter/pyproject.toml @@ -7,7 +7,7 @@ name = "orcarouter-haystack" dynamic = ["version"] description = "Haystack integration for orcarouter" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/paddleocr/pyproject.toml b/integrations/paddleocr/pyproject.toml index 8567df01e3..0b16633245 100644 --- a/integrations/paddleocr/pyproject.toml +++ b/integrations/paddleocr/pyproject.toml @@ -7,7 +7,7 @@ name = "paddleocr-haystack" dynamic = ["version"] description = 'An integration of PaddleOCR with Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -16,7 +16,6 @@ authors = [ classifiers = [ "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", diff --git a/integrations/parallel/pyproject.toml b/integrations/parallel/pyproject.toml index 6e5aabdaa3..4697252a2a 100644 --- a/integrations/parallel/pyproject.toml +++ b/integrations/parallel/pyproject.toml @@ -7,7 +7,7 @@ name = "parallel-haystack" dynamic = ["version"] description = "Haystack integration for Parallel web search and web-research models" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Parallel", "Web Search", "AI Search", "Deep Research"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/parallel/tests/test_parallel_chat_generator.py b/integrations/parallel/tests/test_parallel_chat_generator.py index 6815560bcb..3539a0dd03 100644 --- a/integrations/parallel/tests/test_parallel_chat_generator.py +++ b/integrations/parallel/tests/test_parallel_chat_generator.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import os -from datetime import datetime, timezone +from datetime import UTC, datetime from unittest.mock import patch import httpx @@ -24,7 +24,7 @@ def _make_response() -> Response: response_data = { "id": "resp_test", - "created_at": datetime.now(tz=timezone.utc).timestamp(), + "created_at": datetime.now(tz=UTC).timestamp(), "model": "parallel", "object": "response", "output": [], diff --git a/integrations/perplexity/pyproject.toml b/integrations/perplexity/pyproject.toml index eb4993f504..9ba8f478c4 100644 --- a/integrations/perplexity/pyproject.toml +++ b/integrations/perplexity/pyproject.toml @@ -7,7 +7,7 @@ name = "perplexity-haystack" dynamic = ["version"] description = "Haystack integration for Perplexity Web Search" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Perplexity", "Web Search", "AI Search"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/perplexity/tests/test_perplexity_chat_generator.py b/integrations/perplexity/tests/test_perplexity_chat_generator.py index daa19ca058..481aaa9cc1 100644 --- a/integrations/perplexity/tests/test_perplexity_chat_generator.py +++ b/integrations/perplexity/tests/test_perplexity_chat_generator.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import os -from datetime import datetime, timezone +from datetime import UTC, datetime from unittest.mock import patch import httpx @@ -24,7 +24,7 @@ def _make_response() -> Response: response_data = { "id": "resp_test", - "created_at": datetime.now(tz=timezone.utc).timestamp(), + "created_at": datetime.now(tz=UTC).timestamp(), "model": "openai/gpt-5.4", "object": "response", "output": [], @@ -45,7 +45,7 @@ def handler(request: httpx.Request) -> httpx.Response: 200, json={ "id": "resp_test", - "created_at": datetime.now(tz=timezone.utc).timestamp(), + "created_at": datetime.now(tz=UTC).timestamp(), "model": "openai/gpt-5.4", "object": "response", "output": [], diff --git a/integrations/pgvector/pyproject.toml b/integrations/pgvector/pyproject.toml index edcf02321c..8f4b7f52e8 100644 --- a/integrations/pgvector/pyproject.toml +++ b/integrations/pgvector/pyproject.toml @@ -7,7 +7,7 @@ name = "pgvector-haystack" dynamic = ["version"] description = "An integration of pgvector (vector search extension for Postgres) with Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/pinecone/pyproject.toml b/integrations/pinecone/pyproject.toml index f486dc2422..9c3493709c 100644 --- a/integrations/pinecone/pyproject.toml +++ b/integrations/pinecone/pyproject.toml @@ -7,7 +7,7 @@ name = "pinecone-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/presidio/pyproject.toml b/integrations/presidio/pyproject.toml index 4c187836cb..b66c621af7 100644 --- a/integrations/presidio/pyproject.toml +++ b/integrations/presidio/pyproject.toml @@ -7,7 +7,7 @@ name = "presidio-haystack" dynamic = ["version"] description = "Haystack integration for Microsoft Presidio — PII detection and anonymization" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Presidio", "PII", "anonymization", "privacy", "NLP"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/pyversity/pyproject.toml b/integrations/pyversity/pyproject.toml index 59a8e338b2..06cd5af198 100644 --- a/integrations/pyversity/pyproject.toml +++ b/integrations/pyversity/pyproject.toml @@ -7,7 +7,7 @@ name = "pyversity-haystack" dynamic = ["version"] description = 'Haystack component wrapping pyversity for result diversification in retrieval pipelines' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/qdrant/pyproject.toml b/integrations/qdrant/pyproject.toml index 8762bf698f..e95a9e6d18 100644 --- a/integrations/qdrant/pyproject.toml +++ b/integrations/qdrant/pyproject.toml @@ -7,7 +7,7 @@ name = "qdrant-haystack" dynamic = ["version"] description = 'An integration of Qdrant ANN vector database backend with Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -19,7 +19,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/ragas/pyproject.toml b/integrations/ragas/pyproject.toml index c172b523bd..48e2822862 100644 --- a/integrations/ragas/pyproject.toml +++ b/integrations/ragas/pyproject.toml @@ -7,7 +7,7 @@ name = "ragas-haystack" dynamic = ["version"] description = 'An integration of Ragas LLM evaluation framework with Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/rhesis/pyproject.toml b/integrations/rhesis/pyproject.toml index 6171d741d8..b15b45ca2e 100644 --- a/integrations/rhesis/pyproject.toml +++ b/integrations/rhesis/pyproject.toml @@ -7,7 +7,7 @@ name = "rhesis-haystack" dynamic = ["version"] description = "Haystack integration for rhesis" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "rhesis", "tracing", "observability", "opentelemetry", "llm"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/searchapi/pyproject.toml b/integrations/searchapi/pyproject.toml index 6950ce4b97..0c14895eee 100644 --- a/integrations/searchapi/pyproject.toml +++ b/integrations/searchapi/pyproject.toml @@ -7,7 +7,7 @@ name = "searchapi-haystack" dynamic = ["version"] description = "Haystack integration for SearchApi Web Search" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "SearchApi", "Web Search", "AI Search"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/sentence_transformers/pyproject.toml b/integrations/sentence_transformers/pyproject.toml index 81235cb0fe..a4417b4257 100644 --- a/integrations/sentence_transformers/pyproject.toml +++ b/integrations/sentence_transformers/pyproject.toml @@ -7,7 +7,7 @@ name = "sentence-transformers-haystack" dynamic = ["version"] description = "Haystack integration for sentence_transformers" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "sentence-transformers", "embeddings", "reranking"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/serperdev/pyproject.toml b/integrations/serperdev/pyproject.toml index 2b7cbee6be..e0f9155bcf 100644 --- a/integrations/serperdev/pyproject.toml +++ b/integrations/serperdev/pyproject.toml @@ -7,7 +7,7 @@ name = "serperdev-haystack" dynamic = ["version"] description = "Haystack integration for SerperDev Web Search" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "SerperDev", "Serper", "Web Search", "AI Search"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/snowflake/pyproject.toml b/integrations/snowflake/pyproject.toml index 9decc6afdc..cae278772f 100644 --- a/integrations/snowflake/pyproject.toml +++ b/integrations/snowflake/pyproject.toml @@ -7,7 +7,7 @@ name = "snowflake-haystack" dynamic = ["version"] description = 'A Snowflake integration for the Haystack framework.' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }, @@ -16,7 +16,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/solr/pyproject.toml b/integrations/solr/pyproject.toml index 27a575a613..068f5609f1 100644 --- a/integrations/solr/pyproject.toml +++ b/integrations/solr/pyproject.toml @@ -7,7 +7,7 @@ name = "solr-haystack" dynamic = ["version"] description = "Haystack Document Store for Apache Solr" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["haystack", "solr", "apache-solr", "document-store", "retriever", "vector-search", "bm25"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/spacy/pyproject.toml b/integrations/spacy/pyproject.toml index a005d08d99..006f06c084 100644 --- a/integrations/spacy/pyproject.toml +++ b/integrations/spacy/pyproject.toml @@ -7,7 +7,7 @@ name = "spacy-haystack" dynamic = ["version"] description = "Haystack integration for spacy" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/sqlalchemy/pyproject.toml b/integrations/sqlalchemy/pyproject.toml index ee71a56984..3724e2009d 100644 --- a/integrations/sqlalchemy/pyproject.toml +++ b/integrations/sqlalchemy/pyproject.toml @@ -7,7 +7,7 @@ name = "sqlalchemy-haystack" dynamic = ["version"] description = 'A SQLAlchemy integration for the Haystack framework.' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", @@ -26,8 +25,7 @@ classifiers = [ dependencies = [ "haystack-ai>=2.22.0", "sqlalchemy>=2.0.36", - "pandas>=2.2.3; python_version < '3.11'", - "pandas>=3.0.0; python_version >= '3.11'", + "pandas>=3.0.0", ] [project.urls] diff --git a/integrations/stackit/pyproject.toml b/integrations/stackit/pyproject.toml index 7dbc36a197..1a714a491b 100644 --- a/integrations/stackit/pyproject.toml +++ b/integrations/stackit/pyproject.toml @@ -7,7 +7,7 @@ name = "stackit-haystack" dynamic = ["version"] description = 'An integration of STACKIT as a StackitChatGenerator' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/supabase/pyproject.toml b/integrations/supabase/pyproject.toml index d0f80ea17e..64f98e86d6 100644 --- a/integrations/supabase/pyproject.toml +++ b/integrations/supabase/pyproject.toml @@ -7,7 +7,7 @@ name = "supabase-haystack" dynamic = ["version"] description = "Haystack integration for supabase" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/tavily/pyproject.toml b/integrations/tavily/pyproject.toml index 3715c9c779..36568368bd 100644 --- a/integrations/tavily/pyproject.toml +++ b/integrations/tavily/pyproject.toml @@ -7,7 +7,7 @@ name = "tavily-haystack" dynamic = ["version"] description = "Haystack integration for Tavily Web Search" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Tavily", "Web Search", "AI Search"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/tika/pyproject.toml b/integrations/tika/pyproject.toml index 015a03c7de..3b400ebeba 100644 --- a/integrations/tika/pyproject.toml +++ b/integrations/tika/pyproject.toml @@ -7,7 +7,7 @@ name = "tika-haystack" dynamic = ["version"] description = "Haystack integration for Apache Tika document conversion" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Tika", "Apache Tika", "Document Converter", "PDF", "DOCX"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/togetherai/pyproject.toml b/integrations/togetherai/pyproject.toml index d3f3414bd7..c39ae6b4b1 100644 --- a/integrations/togetherai/pyproject.toml +++ b/integrations/togetherai/pyproject.toml @@ -7,7 +7,7 @@ name = "togetherai-haystack" dynamic = ["version"] description = 'An integration between the Together AI framework and Haystack' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -16,7 +16,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/transformers/pyproject.toml b/integrations/transformers/pyproject.toml index b66c7b02ed..5b125a36bb 100644 --- a/integrations/transformers/pyproject.toml +++ b/integrations/transformers/pyproject.toml @@ -7,7 +7,7 @@ name = "transformers-haystack" dynamic = ["version"] description = "Haystack integration for transformers" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/transformers/src/haystack_integrations/components/generators/transformers/chat/chat_generator.py b/integrations/transformers/src/haystack_integrations/components/generators/transformers/chat/chat_generator.py index 3650079b50..2f794c6d5a 100644 --- a/integrations/transformers/src/haystack_integrations/components/generators/transformers/chat/chat_generator.py +++ b/integrations/transformers/src/haystack_integrations/components/generators/transformers/chat/chat_generator.py @@ -511,7 +511,7 @@ async def _manage_queue_processor( # Ensure the queue processor is cleaned up properly try: await asyncio.wait_for(queue_processor, timeout=0.1) - except asyncio.TimeoutError: + except TimeoutError: queue_processor.cancel() with suppress(asyncio.CancelledError): await queue_processor diff --git a/integrations/twelvelabs/pyproject.toml b/integrations/twelvelabs/pyproject.toml index 5ecd3e19da..9e4ba4be44 100644 --- a/integrations/twelvelabs/pyproject.toml +++ b/integrations/twelvelabs/pyproject.toml @@ -7,7 +7,7 @@ name = "twelvelabs-haystack" dynamic = ["version"] description = "Haystack integration for TwelveLabs" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/typesafe/pyproject.toml b/integrations/typesafe/pyproject.toml index 5a7f3f55c1..aa240c129c 100644 --- a/integrations/typesafe/pyproject.toml +++ b/integrations/typesafe/pyproject.toml @@ -7,7 +7,7 @@ name = "typesafe-haystack" dynamic = ["version"] description = "Haystack integration for TypeSafe System One decision models" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "TypeSafe", "Jev", "Ollaya", "classification", "decision model", "routing"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/unstructured/pyproject.toml b/integrations/unstructured/pyproject.toml index 6417cffdf1..24b34a3916 100644 --- a/integrations/unstructured/pyproject.toml +++ b/integrations/unstructured/pyproject.toml @@ -7,7 +7,7 @@ name = "unstructured-fileconverter-haystack" dynamic = ["version"] description = 'Haystack 2.x component to convert files into Documents using the Unstructured API' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/valkey/pyproject.toml b/integrations/valkey/pyproject.toml index 9a120a91e0..d6d516df05 100644 --- a/integrations/valkey/pyproject.toml +++ b/integrations/valkey/pyproject.toml @@ -7,7 +7,7 @@ name = "valkey-haystack" dynamic = ["version"] description = '' readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", @@ -85,7 +84,6 @@ disallow_incomplete_defs = true [tool.ruff] -target-version = "py310" line-length = 120 [tool.ruff.lint] diff --git a/integrations/vespa/pyproject.toml b/integrations/vespa/pyproject.toml index 086b637625..260f204dd4 100644 --- a/integrations/vespa/pyproject.toml +++ b/integrations/vespa/pyproject.toml @@ -7,7 +7,7 @@ name = "vespa-haystack" dynamic = ["version"] description = "Haystack integration for Vespa" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [ "haystack", @@ -24,7 +24,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/vllm/pyproject.toml b/integrations/vllm/pyproject.toml index 9943e48086..36e12d6b18 100644 --- a/integrations/vllm/pyproject.toml +++ b/integrations/vllm/pyproject.toml @@ -7,7 +7,7 @@ name = "vllm-haystack" dynamic = ["version"] description = "Haystack integration for vllm" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/vllm/tests/test_chat_generator.py b/integrations/vllm/tests/test_chat_generator.py index cbfa710b53..8a94dac74c 100644 --- a/integrations/vllm/tests/test_chat_generator.py +++ b/integrations/vllm/tests/test_chat_generator.py @@ -4,7 +4,7 @@ import json from collections.abc import Iterator -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Annotated from unittest.mock import AsyncMock, MagicMock, patch @@ -65,7 +65,7 @@ def _make_reasoning_chunk(text): delta=chat_completion_chunk.ChoiceDelta(content=None, role=None), ) ], - created=int(datetime.now(tz=timezone.utc).timestamp()), + created=int(datetime.now(tz=UTC).timestamp()), usage=None, ) chunk.choices[0].delta.reasoning = text @@ -85,7 +85,7 @@ def _make_content_chunk(text, finish_reason=None): delta=chat_completion_chunk.ChoiceDelta(content=text, role=None), ) ], - created=int(datetime.now(tz=timezone.utc).timestamp()), + created=int(datetime.now(tz=UTC).timestamp()), usage=None, ) @@ -104,7 +104,7 @@ def completion(): "message": {"content": "Paris is the capital of France.", "role": "assistant"}, } ], - created=int(datetime.now(tz=timezone.utc).timestamp()), + created=int(datetime.now(tz=UTC).timestamp()), usage={"prompt_tokens": 57, "completion_tokens": 40, "total_tokens": 97}, ) @@ -192,7 +192,7 @@ def test_preserves_tool_calls(self): ), ) ], - created=int(datetime.now(tz=timezone.utc).timestamp()), + created=int(datetime.now(tz=UTC).timestamp()), usage={"prompt_tokens": 10, "completion_tokens": 20, "total_tokens": 30}, ) @@ -224,7 +224,7 @@ def test_skips_malformed_tool_call_arguments(self): ), ) ], - created=int(datetime.now(tz=timezone.utc).timestamp()), + created=int(datetime.now(tz=UTC).timestamp()), usage={"prompt_tokens": 10, "completion_tokens": 20, "total_tokens": 30}, ) diff --git a/integrations/watsonx/pyproject.toml b/integrations/watsonx/pyproject.toml index 039c339e9d..bcfea3e6e7 100644 --- a/integrations/watsonx/pyproject.toml +++ b/integrations/watsonx/pyproject.toml @@ -84,7 +84,6 @@ module = [ ignore_missing_imports = true [tool.ruff] -target-version = "py310" line-length = 120 [tool.ruff.lint] diff --git a/integrations/watsonx/src/haystack_integrations/components/generators/watsonx/chat/chat_generator.py b/integrations/watsonx/src/haystack_integrations/components/generators/watsonx/chat/chat_generator.py index 590163b90c..3ece1c7120 100644 --- a/integrations/watsonx/src/haystack_integrations/components/generators/watsonx/chat/chat_generator.py +++ b/integrations/watsonx/src/haystack_integrations/components/generators/watsonx/chat/chat_generator.py @@ -5,7 +5,7 @@ import inspect import json from dataclasses import replace -from datetime import datetime, timezone +from datetime import UTC, datetime from typing import Any, ClassVar, Literal, get_args from haystack import component, default_from_dict, default_to_dict, logging @@ -429,7 +429,7 @@ def _convert_chunk_to_streaming_chunk(self, chunk: dict[str, Any], component_inf "model_version": chunk.get("model_version"), "created": chunk.get("created"), "created_at": chunk.get("created_at"), - "received_at": datetime.now(timezone.utc).isoformat(), + "received_at": datetime.now(UTC).isoformat(), } if choice["delta"] and (choice_delta_tool_calls := choice["delta"].get("tool_calls")): diff --git a/integrations/weave/pyproject.toml b/integrations/weave/pyproject.toml index 72986b6bbe..d1acdb39b7 100644 --- a/integrations/weave/pyproject.toml +++ b/integrations/weave/pyproject.toml @@ -7,7 +7,7 @@ name = "weave-haystack" dynamic = ["version"] description = "An integration of Weights & Biases Weave tracer with Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/weaviate/pyproject.toml b/integrations/weaviate/pyproject.toml index 1b6acc9462..da387daab7 100644 --- a/integrations/weaviate/pyproject.toml +++ b/integrations/weaviate/pyproject.toml @@ -7,7 +7,7 @@ name = "weaviate-haystack" dynamic = ["version"] description = "An integration of Weaviate vector database with Haystack" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/whisper/pyproject.toml b/integrations/whisper/pyproject.toml index 74d938d9ea..896039d77e 100644 --- a/integrations/whisper/pyproject.toml +++ b/integrations/whisper/pyproject.toml @@ -7,7 +7,7 @@ name = "whisper-haystack" dynamic = ["version"] description = "Haystack integration for whisper" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "Whisper", "OpenAI", "transcription", "speech-to-text", "audio"] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/integrations/youcom/pyproject.toml b/integrations/youcom/pyproject.toml index f1a3d77112..9b11b8ca0e 100644 --- a/integrations/youcom/pyproject.toml +++ b/integrations/youcom/pyproject.toml @@ -7,7 +7,7 @@ name = "youcom-haystack" dynamic = ["version"] description = "Haystack integration for the You.com Search API" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = ["Haystack", "You.com", "Web Search", "AI Search"] authors = [ @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", diff --git a/scripts/utils/templates/pyproject.toml b/scripts/utils/templates/pyproject.toml index a4fec14d5b..65f2b99f88 100644 --- a/scripts/utils/templates/pyproject.toml +++ b/scripts/utils/templates/pyproject.toml @@ -7,7 +7,7 @@ name = "$pkg" dynamic = ["version"] description = "Haystack integration for $name" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" license = "Apache-2.0" keywords = [] authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }] @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 4 - Beta", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13",