From 80575a7e9c8f7989ce51db69aed5e380f3a0598d Mon Sep 17 00:00:00 2001 From: Stefano Fiorucci Date: Fri, 31 Jan 2025 15:03:15 +0100 Subject: [PATCH] deprecate dataframe and ExtractedTableAnswer (#8789) --- haystack/dataclasses/answer.py | 5 +++++ haystack/dataclasses/document.py | 5 +++++ ...ate-dataframe-ExtractedTableAnswer-3d85649a4a7e222f.yaml | 6 ++++++ 3 files changed, 16 insertions(+) create mode 100644 releasenotes/notes/deprecate-dataframe-ExtractedTableAnswer-3d85649a4a7e222f.yaml diff --git a/haystack/dataclasses/answer.py b/haystack/dataclasses/answer.py index edf0092f55..4ba447f8b4 100644 --- a/haystack/dataclasses/answer.py +++ b/haystack/dataclasses/answer.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 import io +import warnings from dataclasses import asdict, dataclass, field from typing import Any, Dict, List, Optional, Protocol, runtime_checkable @@ -98,6 +99,10 @@ class ExtractedTableAnswer: context_cells: List["Cell"] = field(default_factory=list) meta: Dict[str, Any] = field(default_factory=dict) + def __post_init__(self): + msg = "The `ExtractedTableAnswer` dataclass is deprecated and will be removed in Haystack 2.11.0." + warnings.warn(msg, DeprecationWarning) + @dataclass class Cell: row: int diff --git a/haystack/dataclasses/document.py b/haystack/dataclasses/document.py index aed3596411..e29effccd3 100644 --- a/haystack/dataclasses/document.py +++ b/haystack/dataclasses/document.py @@ -4,6 +4,7 @@ import hashlib import io +import warnings from dataclasses import asdict, dataclass, field, fields from typing import Any, Dict, List, Optional @@ -114,6 +115,10 @@ def __post_init__(self): # Generate an id only if not explicitly set self.id = self.id or self._create_id() + if self.dataframe is not None: + msg = "The `dataframe` field is deprecated and will be removed in Haystack 2.11.0." + warnings.warn(msg, DeprecationWarning) + def _create_id(self): """ Creates a hash of the given content that acts as the document's ID. diff --git a/releasenotes/notes/deprecate-dataframe-ExtractedTableAnswer-3d85649a4a7e222f.yaml b/releasenotes/notes/deprecate-dataframe-ExtractedTableAnswer-3d85649a4a7e222f.yaml new file mode 100644 index 0000000000..25318985f1 --- /dev/null +++ b/releasenotes/notes/deprecate-dataframe-ExtractedTableAnswer-3d85649a4a7e222f.yaml @@ -0,0 +1,6 @@ +--- +deprecations: + - | + The `ExtractedTableAnswer` dataclass and the `dataframe` field in the `Document` dataclass are deprecated and + will be removed in Haystack 2.11.0. + Check out the GitHub discussion for motivation and details: https://github.com/deepset-ai/haystack/discussions/8688