diff --git a/docling/backend/html_backend.py b/docling/backend/html_backend.py
index b536d2ff..63766a37 100644
--- a/docling/backend/html_backend.py
+++ b/docling/backend/html_backend.py
@@ -5,10 +5,10 @@ from typing import Set, Union
from bs4 import BeautifulSoup
from docling_core.types.experimental import (
- BasePictureData,
BaseTableData,
DescriptionItem,
DoclingDocument,
+ PictureData,
TableCell,
)
from docling_core.types.experimental.labels import DocItemLabel, GroupLabel
@@ -400,7 +400,7 @@ class HTMLDocumentBackend(DeclarativeDocumentBackend):
contains_captions = element.find(["figcaption"])
if contains_captions is None:
doc.add_picture(
- data=BasePictureData(), parent=self.parents[self.level], caption=None
+ data=PictureData(), parent=self.parents[self.level], caption=None
)
else:
@@ -412,7 +412,7 @@ class HTMLDocumentBackend(DeclarativeDocumentBackend):
label=DocItemLabel.CAPTION, text=("".join(texts)).strip()
)
doc.add_picture(
- data=BasePictureData(),
+ data=PictureData(),
parent=self.parents[self.level],
caption=fig_caption,
)
@@ -420,5 +420,5 @@ class HTMLDocumentBackend(DeclarativeDocumentBackend):
def handle_image(self, element, idx, doc):
"""Handles image tags (img)."""
doc.add_picture(
- data=BasePictureData(), parent=self.parents[self.level], caption=None
+ data=PictureData(), parent=self.parents[self.level], caption=None
)
diff --git a/docling/backend/mspowerpoint_backend.py b/docling/backend/mspowerpoint_backend.py
index 2914e1e0..9e37465e 100644
--- a/docling/backend/mspowerpoint_backend.py
+++ b/docling/backend/mspowerpoint_backend.py
@@ -4,13 +4,13 @@ from pathlib import Path
from typing import Set, Union
from docling_core.types.experimental import (
- BasePictureData,
BaseTableData,
DescriptionItem,
DocItemLabel,
DoclingDocument,
DocumentOrigin,
GroupLabel,
+ PictureData,
ProvenanceItem,
TableCell,
)
@@ -204,7 +204,7 @@ class MsPowerpointDocumentBackend(DeclarativeDocumentBackend, PaginatedDocumentB
# shape has picture
prov = self.generate_prov(shape, slide_ind, "")
doc.add_picture(
- data=BasePictureData(), parent=parent_slide, caption=None, prov=prov
+ data=PictureData(), parent=parent_slide, caption=None, prov=prov
)
return
diff --git a/docling/backend/msword_backend.py b/docling/backend/msword_backend.py
index ed7c065c..c6c4fba2 100644
--- a/docling/backend/msword_backend.py
+++ b/docling/backend/msword_backend.py
@@ -5,12 +5,12 @@ from typing import Set, Union
import docx
from docling_core.types.experimental import (
- BasePictureData,
BaseTableData,
DescriptionItem,
DocItemLabel,
DoclingDocument,
GroupLabel,
+ PictureData,
TableCell,
)
from lxml import etree
@@ -419,6 +419,6 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend):
def handle_pictures(self, element, docx_obj, doc):
doc.add_picture(
- data=BasePictureData(), parent=self.parents[self.level], caption=None
+ data=PictureData(), parent=self.parents[self.level], caption=None
)
return
diff --git a/docling/datamodel/base_models.py b/docling/datamodel/base_models.py
index 5ac0110c..0c220eff 100644
--- a/docling/datamodel/base_models.py
+++ b/docling/datamodel/base_models.py
@@ -3,7 +3,7 @@ from io import BytesIO
from typing import Dict, List, Optional, Union
from docling_core.types.experimental import BoundingBox, Size
-from docling_core.types.experimental.document import BasePictureData, TableCell
+from docling_core.types.experimental.document import PictureData, TableCell
from docling_core.types.experimental.labels import DocItemLabel
from PIL.Image import Image
from pydantic import BaseModel, ConfigDict
@@ -109,7 +109,7 @@ class TextElement(BasePageElement): ...
class FigureElement(BasePageElement):
- data: Optional[BasePictureData] = None
+ data: Optional[PictureData] = None
provenance: Optional[str] = None
predicted_class: Optional[str] = None
confidence: Optional[float] = None
diff --git a/docling/models/dummy_picture_enrichment.py b/docling/models/dummy_picture_enrichment.py
index 203c37f4..5f0ede3c 100644
--- a/docling/models/dummy_picture_enrichment.py
+++ b/docling/models/dummy_picture_enrichment.py
@@ -1,15 +1,14 @@
from typing import Any, Iterable
from docling_core.types.experimental import DoclingDocument, NodeItem
-from docling_core.types.experimental.document import BasePictureData, PictureItem
+from docling_core.types.experimental.document import (
+ PictureClassificationData,
+ PictureItem,
+)
from docling.models.base_model import BaseEnrichmentModel
-class DummyPictureData(BasePictureData):
- hello: str
-
-
class DummyPictureClassifierEnrichmentModel(BaseEnrichmentModel):
def is_processable(self, doc: DoclingDocument, element: NodeItem) -> bool:
return isinstance(element, PictureItem)
@@ -19,6 +18,10 @@ class DummyPictureClassifierEnrichmentModel(BaseEnrichmentModel):
) -> Iterable[Any]:
for element in element_batch:
assert isinstance(element, PictureItem)
- element.data = DummyPictureData(hello="world")
+ element.data.classification = PictureClassificationData(
+ provenance="dummy_classifier-0.0.1",
+ predicted_class="dummy",
+ confidence=0.42,
+ )
yield element
diff --git a/poetry.lock b/poetry.lock
index e330017a..36284e89 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -885,7 +885,7 @@ files = []
develop = false
[package.dependencies]
-docling-core = {git = "https://github.com/DS4SD/docling-core.git", rev = "baceeaeaa690a12f717918d17336fcbfe414cbb8"}
+docling-core = {git = "https://github.com/DS4SD/docling-core.git", rev = "8223654d87631ec61b9ec3570728e878d85d2ecf"}
docutils = "!=0.21"
matplotlib = "^3.7.1"
networkx = "^3.1"
@@ -909,8 +909,8 @@ toolkit = ["deepsearch-toolkit (>=0.31.0)"]
[package.source]
type = "git"
url = "https://github.com/DS4SD/deepsearch-glm.git"
-reference = "af4557df1500d15f82a0e0c9d2a3b64afc3e6ac1"
-resolved_reference = "af4557df1500d15f82a0e0c9d2a3b64afc3e6ac1"
+reference = "53874bd5c39bb3fe389663992b3efd3fedaf5697"
+resolved_reference = "53874bd5c39bb3fe389663992b3efd3fedaf5697"
[[package]]
name = "dill"
@@ -958,8 +958,8 @@ tabulate = "^0.9.0"
[package.source]
type = "git"
url = "https://github.com/DS4SD/docling-core.git"
-reference = "baceeaeaa690a12f717918d17336fcbfe414cbb8"
-resolved_reference = "baceeaeaa690a12f717918d17336fcbfe414cbb8"
+reference = "8223654d87631ec61b9ec3570728e878d85d2ecf"
+resolved_reference = "8223654d87631ec61b9ec3570728e878d85d2ecf"
[[package]]
name = "docling-ibm-models"
@@ -3440,9 +3440,9 @@ files = [
[package.dependencies]
numpy = [
{version = ">=1.26.0", markers = "python_version >= \"3.12\""},
- {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""},
{version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""},
{version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""},
+ {version = ">=1.23.5", markers = "python_version >= \"3.11\" and python_version < \"3.12\""},
]
[[package]]
@@ -3576,8 +3576,8 @@ files = [
[package.dependencies]
numpy = [
{version = ">=1.26.0", markers = "python_version >= \"3.12\""},
- {version = ">=1.23.2", markers = "python_version == \"3.11\""},
{version = ">=1.22.4", markers = "python_version < \"3.11\""},
+ {version = ">=1.23.2", markers = "python_version == \"3.11\""},
]
python-dateutil = ">=2.8.2"
pytz = ">=2020.1"
@@ -7107,4 +7107,4 @@ tesserocr = ["tesserocr"]
[metadata]
lock-version = "2.0"
python-versions = "^3.10"
-content-hash = "76695cfbcb87589dc2d8bc05b42969d558962122a9375e62ce68eed39cb0e634"
+content-hash = "d09e865ced8e4de077898f499cfd6e487b655e25ac2fe34b2159d91cb85b5238"
diff --git a/pyproject.toml b/pyproject.toml
index 0ba29abb..92eb205f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -37,9 +37,9 @@ torchvision = [
######################
python = "^3.10"
pydantic = "^2.0.0"
-docling-core = {git = "https://github.com/DS4SD/docling-core.git", rev = "baceeaeaa690a12f717918d17336fcbfe414cbb8"}
+docling-core = {git = "https://github.com/DS4SD/docling-core.git", rev = "8223654d87631ec61b9ec3570728e878d85d2ecf"}
docling-ibm-models = {git = "https://github.com/DS4SD/docling-ibm-models.git", rev = "1d2e2a2e6eb152c237f1383cdba20cf85db80b97"}
-deepsearch-glm = {git = "https://github.com/DS4SD/deepsearch-glm.git", rev = "af4557df1500d15f82a0e0c9d2a3b64afc3e6ac1"}
+deepsearch-glm = {git = "https://github.com/DS4SD/deepsearch-glm.git", rev = "53874bd5c39bb3fe389663992b3efd3fedaf5697"}
docling-parse = "^1.5.1"
filetype = "^1.2.0"