deepdoctection 0.43__py3-none-any.whl → 0.43.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of deepdoctection might be problematic. Click here for more details.
- deepdoctection/__init__.py +3 -2
- deepdoctection/analyzer/config.py +15 -0
- deepdoctection/datapoint/image.py +2 -2
- deepdoctection/datapoint/view.py +19 -5
- deepdoctection/extern/base.py +2 -0
- deepdoctection/extern/doctrocr.py +5 -2
- deepdoctection/extern/texocr.py +1 -1
- deepdoctection/mapper/xfundstruct.py +1 -1
- deepdoctection/pipe/anngen.py +14 -1
- deepdoctection/pipe/order.py +9 -6
- deepdoctection/utils/context.py +1 -1
- deepdoctection/utils/develop.py +1 -0
- deepdoctection/utils/env_info.py +1 -1
- deepdoctection/utils/file_utils.py +0 -9
- deepdoctection/utils/settings.py +3 -1
- {deepdoctection-0.43.dist-info → deepdoctection-0.43.3.dist-info}/METADATA +5 -6
- {deepdoctection-0.43.dist-info → deepdoctection-0.43.3.dist-info}/RECORD +20 -20
- {deepdoctection-0.43.dist-info → deepdoctection-0.43.3.dist-info}/WHEEL +0 -0
- {deepdoctection-0.43.dist-info → deepdoctection-0.43.3.dist-info}/licenses/LICENSE +0 -0
- {deepdoctection-0.43.dist-info → deepdoctection-0.43.3.dist-info}/top_level.txt +0 -0
deepdoctection/__init__.py
CHANGED
|
@@ -25,11 +25,11 @@ from .utils.logger import LoggingRecord, logger
|
|
|
25
25
|
|
|
26
26
|
# pylint: enable=wrong-import-position
|
|
27
27
|
|
|
28
|
-
__version__ = "0.43"
|
|
28
|
+
__version__ = "0.43.3"
|
|
29
29
|
|
|
30
30
|
_IMPORT_STRUCTURE = {
|
|
31
31
|
"analyzer": ["config_sanity_checks", "get_dd_analyzer", "ServiceFactory"],
|
|
32
|
-
"configs": [],
|
|
32
|
+
"configs": ["update_cfg_from_defaults"],
|
|
33
33
|
"dataflow": [
|
|
34
34
|
"DataFlowTerminated",
|
|
35
35
|
"DataFlowResetStateNotCalled",
|
|
@@ -98,6 +98,7 @@ _IMPORT_STRUCTURE = {
|
|
|
98
98
|
"List",
|
|
99
99
|
"Cell",
|
|
100
100
|
"Table",
|
|
101
|
+
"IMAGE_DEFAULTS",
|
|
101
102
|
"Page",
|
|
102
103
|
],
|
|
103
104
|
"datasets": [
|
|
@@ -902,3 +902,18 @@ cfg.LAYOUT_LINK.CHILD_CATEGORIES = [LayoutType.CAPTION]
|
|
|
902
902
|
# Freezes the configuration to make it immutable.
|
|
903
903
|
# This prevents accidental modification at runtime.
|
|
904
904
|
cfg.freeze()
|
|
905
|
+
|
|
906
|
+
def update_cfg_from_defaults() -> None:
|
|
907
|
+
"""
|
|
908
|
+
Update the configuration with current values from IMAGE_DEFAULTS.
|
|
909
|
+
"""
|
|
910
|
+
cfg.freeze(False)
|
|
911
|
+
|
|
912
|
+
# Update all dependent fields from IMAGE_DEFAULTS
|
|
913
|
+
cfg.TEXT_CONTAINER = IMAGE_DEFAULTS.TEXT_CONTAINER
|
|
914
|
+
cfg.WORD_MATCHING.PARENTAL_CATEGORIES = IMAGE_DEFAULTS.TEXT_BLOCK_CATEGORIES
|
|
915
|
+
cfg.TEXT_ORDERING.TEXT_BLOCK_CATEGORIES = IMAGE_DEFAULTS.TEXT_BLOCK_CATEGORIES
|
|
916
|
+
cfg.TEXT_ORDERING.FLOATING_TEXT_BLOCK_CATEGORIES = IMAGE_DEFAULTS.FLOATING_TEXT_BLOCK_CATEGORIES
|
|
917
|
+
|
|
918
|
+
# Re-freeze the configuration
|
|
919
|
+
cfg.freeze()
|
|
@@ -479,8 +479,8 @@ class Image:
|
|
|
479
479
|
|
|
480
480
|
def remove(
|
|
481
481
|
self,
|
|
482
|
-
annotation_ids: Optional[Union[str,
|
|
483
|
-
service_ids: Optional[Union[str,
|
|
482
|
+
annotation_ids: Optional[Union[str, Sequence[str]]] = None,
|
|
483
|
+
service_ids: Optional[Union[str, Sequence[str]]] = None,
|
|
484
484
|
) -> None:
|
|
485
485
|
"""
|
|
486
486
|
Instead of removing consider deactivating annotations.
|
deepdoctection/datapoint/view.py
CHANGED
|
@@ -183,7 +183,7 @@ class Word(ImageAnnotationBaseView):
|
|
|
183
183
|
attr_names = (
|
|
184
184
|
set(WordType)
|
|
185
185
|
.union(super().get_attribute_names())
|
|
186
|
-
.union({Relationships.READING_ORDER, Relationships.LAYOUT_LINK})
|
|
186
|
+
.union({Relationships.READING_ORDER, Relationships.LAYOUT_LINK, Relationships.LINK})
|
|
187
187
|
)
|
|
188
188
|
return {attr_name.value if isinstance(attr_name, ObjectTypes) else attr_name for attr_name in attr_names}
|
|
189
189
|
|
|
@@ -773,6 +773,7 @@ class Page(Image):
|
|
|
773
773
|
"figures",
|
|
774
774
|
"residual_layouts",
|
|
775
775
|
"document_summary",
|
|
776
|
+
"document_mapping",
|
|
776
777
|
}
|
|
777
778
|
include_residual_text_container: bool = True
|
|
778
779
|
|
|
@@ -1389,19 +1390,32 @@ class Page(Image):
|
|
|
1389
1390
|
include_residual_text_container=include_residual_text_container,
|
|
1390
1391
|
)
|
|
1391
1392
|
|
|
1392
|
-
def
|
|
1393
|
+
def get_entities(self) -> list[Mapping[str, str]]:
|
|
1393
1394
|
"""
|
|
1394
1395
|
Returns:
|
|
1395
|
-
A list of
|
|
1396
|
+
A list of dicts with the following structure:
|
|
1397
|
+
|
|
1398
|
+
```python
|
|
1399
|
+
{
|
|
1400
|
+
"word": str, # word characters
|
|
1401
|
+
"entity": str, # token tag
|
|
1402
|
+
"annotation_id": str, # annotation id of the word
|
|
1403
|
+
"successor_annotation_id": Optional[str] # annotation_id of the successor word, if any
|
|
1404
|
+
}
|
|
1405
|
+
```
|
|
1406
|
+
|
|
1396
1407
|
"""
|
|
1397
1408
|
block_with_order = self._order("layouts")
|
|
1398
1409
|
all_words = []
|
|
1399
1410
|
for block in block_with_order:
|
|
1400
1411
|
all_words.extend(block.get_ordered_words()) # type: ignore
|
|
1401
1412
|
return [
|
|
1402
|
-
{"word": word.
|
|
1413
|
+
{"word": word.characters,
|
|
1414
|
+
"entity": word.token_tag.value,
|
|
1415
|
+
"annotation_id": word.annotation_id,
|
|
1416
|
+
"successor_annotation_id": word.successor[0].annotation_id if word.successor else None}
|
|
1403
1417
|
for word in all_words
|
|
1404
|
-
if word.
|
|
1418
|
+
if word.token_tag not in (TokenClasses.OTHER, None)
|
|
1405
1419
|
]
|
|
1406
1420
|
|
|
1407
1421
|
def __copy__(self) -> Page:
|
deepdoctection/extern/base.py
CHANGED
|
@@ -502,6 +502,7 @@ class TokenClassResult:
|
|
|
502
502
|
semantic_name: semantic name
|
|
503
503
|
bio_tag: bio tag
|
|
504
504
|
score: prediction score
|
|
505
|
+
successor_uuid: uuid of the next token in the sequence
|
|
505
506
|
"""
|
|
506
507
|
|
|
507
508
|
uuid: str
|
|
@@ -512,6 +513,7 @@ class TokenClassResult:
|
|
|
512
513
|
bio_tag: ObjectTypes = DefaultType.DEFAULT_TYPE
|
|
513
514
|
score: Optional[float] = None
|
|
514
515
|
token_id: Optional[int] = None
|
|
516
|
+
successor_uuid: Optional[str] = None
|
|
515
517
|
|
|
516
518
|
|
|
517
519
|
@dataclass
|
|
@@ -269,7 +269,10 @@ class DoctrTextlineDetector(DoctrTextlineDetectorMixin):
|
|
|
269
269
|
if self.lib == "PT":
|
|
270
270
|
self.device = get_torch_device(device)
|
|
271
271
|
|
|
272
|
-
self.doctr_predictor = self.get_wrapped_model(self.architecture,
|
|
272
|
+
self.doctr_predictor = self.get_wrapped_model(self.architecture,
|
|
273
|
+
self.path_weights,
|
|
274
|
+
self.device,
|
|
275
|
+
self.lib)
|
|
273
276
|
|
|
274
277
|
def predict(self, np_img: PixelValues) -> list[DetectionResult]:
|
|
275
278
|
"""
|
|
@@ -424,7 +427,7 @@ class DoctrTextRecognizer(TextRecognizer):
|
|
|
424
427
|
return _get_doctr_requirements()
|
|
425
428
|
|
|
426
429
|
def clone(self) -> DoctrTextRecognizer:
|
|
427
|
-
return self.__class__(self.architecture, self.path_weights, self.device, self.lib)
|
|
430
|
+
return self.__class__(self.architecture, self.path_weights, self.device, self.lib, self.path_config_json)
|
|
428
431
|
|
|
429
432
|
@staticmethod
|
|
430
433
|
def load_model(
|
deepdoctection/extern/texocr.py
CHANGED
|
@@ -60,7 +60,7 @@ def _textract_to_detectresult(response: JsonDict, width: int, height: int, text_
|
|
|
60
60
|
return all_results
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
def predict_text(np_img: PixelValues, client: boto3.client, text_lines: bool) -> list[DetectionResult]:
|
|
63
|
+
def predict_text(np_img: PixelValues, client: boto3.client, text_lines: bool) -> list[DetectionResult]:
|
|
64
64
|
"""
|
|
65
65
|
Calls AWS Textract client (`detect_document_text`) and returns plain OCR results.
|
|
66
66
|
AWS account required.
|
|
@@ -200,7 +200,7 @@ def xfund_to_image(
|
|
|
200
200
|
ann_ids.extend(entity_id_to_ann_id[linked_entity])
|
|
201
201
|
for ann_id in ann_ids:
|
|
202
202
|
if ann_id != word.annotation_id:
|
|
203
|
-
word.dump_relationship(Relationships.
|
|
203
|
+
word.dump_relationship(Relationships.LINK, ann_id)
|
|
204
204
|
|
|
205
205
|
if mapping_context.context_error:
|
|
206
206
|
return None
|
deepdoctection/pipe/anngen.py
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
Datapoint manager
|
|
20
20
|
"""
|
|
21
21
|
from dataclasses import asdict
|
|
22
|
-
from typing import Optional, Union
|
|
22
|
+
from typing import Optional, Union, Sequence
|
|
23
23
|
|
|
24
24
|
import numpy as np
|
|
25
25
|
|
|
@@ -372,6 +372,19 @@ class DatapointManager:
|
|
|
372
372
|
return None
|
|
373
373
|
return ann.annotation_id
|
|
374
374
|
|
|
375
|
+
def remove_annotations(self, annotation_ids: Sequence[str]) -> None:
|
|
376
|
+
"""
|
|
377
|
+
Removes the annotation by the given `annotation_id`.
|
|
378
|
+
|
|
379
|
+
Args:
|
|
380
|
+
annotation_ids: The `annotation_id` to remove.
|
|
381
|
+
"""
|
|
382
|
+
self.assert_datapoint_passed()
|
|
383
|
+
self.datapoint.remove(annotation_ids)
|
|
384
|
+
for ann_id in annotation_ids:
|
|
385
|
+
if ann_id in self._cache_anns:
|
|
386
|
+
self._cache_anns.pop(ann_id)
|
|
387
|
+
|
|
375
388
|
def deactivate_annotation(self, annotation_id: str) -> None:
|
|
376
389
|
"""
|
|
377
390
|
Deactivates the annotation by the given `annotation_id`.
|
deepdoctection/pipe/order.py
CHANGED
|
@@ -738,10 +738,8 @@ class TextOrderService(TextLineServiceMixin):
|
|
|
738
738
|
text_block_anns.extend(residual_text_container_anns)
|
|
739
739
|
for text_block_ann in text_block_anns:
|
|
740
740
|
self.order_text_in_text_block(text_block_ann)
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
]
|
|
744
|
-
self.order_blocks(floating_text_block_anns_to_order)
|
|
741
|
+
floating_text_block_anns = dp.get_annotation(category_names=self.floating_text_block_categories)
|
|
742
|
+
self.order_blocks(floating_text_block_anns)
|
|
745
743
|
self._create_columns()
|
|
746
744
|
|
|
747
745
|
def _create_columns(self) -> None:
|
|
@@ -803,9 +801,14 @@ class TextOrderService(TextLineServiceMixin):
|
|
|
803
801
|
if self.include_residual_text_container:
|
|
804
802
|
add_category.append(LayoutType.LINE)
|
|
805
803
|
|
|
806
|
-
|
|
804
|
+
if set(self.floating_text_block_categories) <= set(
|
|
807
805
|
self.text_block_categories + tuple(add_category)
|
|
808
|
-
)
|
|
806
|
+
):
|
|
807
|
+
logger.warning("In most cases floating_text_block_categories must be a subset of text_block_categories. "
|
|
808
|
+
"Adding categories to floating_text_block_categories, that do not belong to "
|
|
809
|
+
"text_block_categories makes only sense for categories set have CHILD relationships with"
|
|
810
|
+
" annotations that belong to text_block_categories.")
|
|
811
|
+
|
|
809
812
|
|
|
810
813
|
def get_meta_annotation(self) -> MetaAnnotation:
|
|
811
814
|
add_category = [self.text_container]
|
deepdoctection/utils/context.py
CHANGED
|
@@ -38,7 +38,7 @@ __all__ = ["timeout_manager", "save_tmp_file", "timed_operation"]
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
@contextmanager
|
|
41
|
-
def timeout_manager(proc: Any, seconds: Optional[int] = None) -> Iterator[str]:
|
|
41
|
+
def timeout_manager(proc: Any, seconds: Optional[int] = None) -> Iterator[str]:
|
|
42
42
|
"""
|
|
43
43
|
Manager for time handling while some process is being called.
|
|
44
44
|
|
deepdoctection/utils/develop.py
CHANGED
|
@@ -71,6 +71,7 @@ def log_deprecated(name: str, text: str, eos: str = "", max_num_warnings: Option
|
|
|
71
71
|
logger.info(LoggingRecord(f"[Deprecated] {info_msg}"))
|
|
72
72
|
|
|
73
73
|
|
|
74
|
+
|
|
74
75
|
def deprecated(
|
|
75
76
|
text: str = "", eos: str = "", max_num_warnings: Optional[int] = None
|
|
76
77
|
) -> Callable[[Callable[..., T]], Callable[..., T]]:
|
deepdoctection/utils/env_info.py
CHANGED
|
@@ -462,7 +462,7 @@ def pt_info(data: KeyValEnvInfos) -> KeyValEnvInfos:
|
|
|
462
462
|
data.append(("torchvision arch flags", msg))
|
|
463
463
|
except (ImportError, AttributeError):
|
|
464
464
|
data.append(("torchvision._C", "Not found"))
|
|
465
|
-
except AttributeError:
|
|
465
|
+
except (AttributeError, ModuleNotFoundError):
|
|
466
466
|
data.append(("torchvision", "unknown"))
|
|
467
467
|
|
|
468
468
|
return data
|
|
@@ -12,7 +12,6 @@ import importlib.util
|
|
|
12
12
|
import multiprocessing as mp
|
|
13
13
|
import string
|
|
14
14
|
import subprocess
|
|
15
|
-
import sys
|
|
16
15
|
from os import environ, path
|
|
17
16
|
from shutil import which
|
|
18
17
|
from types import ModuleType
|
|
@@ -22,7 +21,6 @@ import importlib_metadata
|
|
|
22
21
|
from packaging import version
|
|
23
22
|
|
|
24
23
|
from .error import DependencyError
|
|
25
|
-
from .logger import LoggingRecord, logger
|
|
26
24
|
from .metacfg import AttrDict
|
|
27
25
|
from .types import PathLikeOrStr, Requirement
|
|
28
26
|
|
|
@@ -662,13 +660,6 @@ def get_doctr_requirement() -> Requirement:
|
|
|
662
660
|
On macOS, if `poppler` is not available, this function will recursively check the requirement.
|
|
663
661
|
It is not yet known how to check whether `pango`, `gdk-pixbuf`, and `libffi` are installed.
|
|
664
662
|
"""
|
|
665
|
-
if sys.platform == "darwin":
|
|
666
|
-
if not get_poppler_version():
|
|
667
|
-
return get_doctr_requirement()
|
|
668
|
-
# don't know yet how to check whether pango gdk-pixbuf libffi are installed
|
|
669
|
-
logger.info(
|
|
670
|
-
LoggingRecord("package requires weasyprint. Check that poppler pango gdk-pixbuf libffi are installed")
|
|
671
|
-
)
|
|
672
663
|
return "doctr", doctr_available(), _DOCTR_ERR_MSG
|
|
673
664
|
|
|
674
665
|
|
deepdoctection/utils/settings.py
CHANGED
|
@@ -80,6 +80,7 @@ class SummaryType(ObjectTypes):
|
|
|
80
80
|
|
|
81
81
|
SUMMARY = "summary"
|
|
82
82
|
DOCUMENT_SUMMARY = "document_summary"
|
|
83
|
+
DOCUMENT_MAPPING = "document_mapping"
|
|
83
84
|
|
|
84
85
|
|
|
85
86
|
@object_types_registry.register("DocumentType")
|
|
@@ -228,8 +229,9 @@ class Relationships(ObjectTypes):
|
|
|
228
229
|
|
|
229
230
|
CHILD = "child"
|
|
230
231
|
READING_ORDER = "reading_order"
|
|
231
|
-
|
|
232
|
+
LINK = "link"
|
|
232
233
|
LAYOUT_LINK = "layout_link"
|
|
234
|
+
SUCCESSOR = "successor"
|
|
233
235
|
|
|
234
236
|
|
|
235
237
|
@object_types_registry.register("Languages")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepdoctection
|
|
3
|
-
Version: 0.43
|
|
3
|
+
Version: 0.43.3
|
|
4
4
|
Summary: Repository for Document AI
|
|
5
5
|
Home-page: https://github.com/deepdoctection/deepdoctection
|
|
6
6
|
Author: Dr. Janis Meyer
|
|
@@ -192,7 +192,7 @@ Check the demo of a document layout analysis pipeline with OCR on 🤗
|
|
|
192
192
|
- Fine-tuning and evaluation tools.
|
|
193
193
|
- Lot's of [tutorials](https://github.com/deepdoctection/notebooks)
|
|
194
194
|
|
|
195
|
-
Have a look at the [**introduction notebook**](https://github.com/deepdoctection/notebooks/blob/main/
|
|
195
|
+
Have a look at the [**introduction notebook**](https://github.com/deepdoctection/notebooks/blob/main/Analyzer_Get_Started.ipynb)
|
|
196
196
|
for an easy start.
|
|
197
197
|
|
|
198
198
|
Check the [**release notes**](https://github.com/deepdoctection/deepdoctection/releases) for recent updates.
|
|
@@ -245,11 +245,11 @@ alt="text" width="40%">
|
|
|
245
245
|
|
|
246
246
|
## Requirements
|
|
247
247
|
|
|
248
|
-

|
|
249
249
|
|
|
250
250
|
- Linux or macOS. Windows is not supported but there is a [Dockerfile](./docker/pytorch-cpu-jupyter/Dockerfile) available.
|
|
251
251
|
- Python >= 3.9
|
|
252
|
-
-
|
|
252
|
+
- 2.2 \<= PyTorch **or** 2.11 \<= Tensorflow < 2.16. (For lower Tensorflow versions the code will only run on a GPU).
|
|
253
253
|
Tensorflow support will be stopped from Python 3.11 onwards.
|
|
254
254
|
- To fine-tune models, a GPU is recommended.
|
|
255
255
|
|
|
@@ -344,8 +344,7 @@ pip install ".[tf]" # or "pip install -e .[tf]"
|
|
|
344
344
|
|
|
345
345
|
### Running a Docker container from Docker hub
|
|
346
346
|
|
|
347
|
-
Pre-existing Docker images can be downloaded from the [Docker hub](https://hub.docker.
|
|
348
|
-
com/r/deepdoctection/deepdoctection).
|
|
347
|
+
Pre-existing Docker images can be downloaded from the [Docker hub](https://hub.docker.com/r/deepdoctection/deepdoctection).
|
|
349
348
|
|
|
350
349
|
```
|
|
351
350
|
docker pull deepdoctection/deepdoctection:<release_tag>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
deepdoctection/__init__.py,sha256=
|
|
1
|
+
deepdoctection/__init__.py,sha256=nJ6cTH9fWxNIGSDjMS7AoU9hbJwfbb-SvTwOw6eiPAg,12964
|
|
2
2
|
deepdoctection/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
deepdoctection/analyzer/__init__.py,sha256=wg0BcFwdCeREwzZfa--Yx8HUJ9LPv5z5PmLwtkZdPH8,772
|
|
4
|
-
deepdoctection/analyzer/config.py,sha256=
|
|
4
|
+
deepdoctection/analyzer/config.py,sha256=Uwi9MYOym0QXzFcip7bRXoy732P4tZVMFBUnUZk9c1w,41761
|
|
5
5
|
deepdoctection/analyzer/dd.py,sha256=2BGvZpl9o9khcaOV52-DPHMrs0DsqUO8cpdqFVHHzDQ,5176
|
|
6
6
|
deepdoctection/analyzer/factory.py,sha256=DI0S38KAG2sIROrSximsWJsMbem91a9zXaeWsDNvkGg,37574
|
|
7
7
|
deepdoctection/configs/__init__.py,sha256=TX_P6tqDOF1LK1mi9ruAl7x0mtv1Asm8cYWCz3Pe2dk,646
|
|
@@ -20,8 +20,8 @@ deepdoctection/datapoint/__init__.py,sha256=DOhcN81MhyPUuFw9F4pyEDyZseeD9qxb8NdB
|
|
|
20
20
|
deepdoctection/datapoint/annotation.py,sha256=f32BNmzUGJoNMeGst2RGC2jmjJpzzjxyBRKFG8FCubY,23092
|
|
21
21
|
deepdoctection/datapoint/box.py,sha256=QAS8sK2Ge4_ysW6zOYkLlzNwhSyw_mhYcYsxscClEno,31453
|
|
22
22
|
deepdoctection/datapoint/convert.py,sha256=6ENXX3tBdY8ogb2NBPxsOsQMGnQux8ol5nrUfWS5tYE,7352
|
|
23
|
-
deepdoctection/datapoint/image.py,sha256=
|
|
24
|
-
deepdoctection/datapoint/view.py,sha256=
|
|
23
|
+
deepdoctection/datapoint/image.py,sha256=kqwCz8DSc19hQpkl_4L1_Ek7_2KrH5KsV9e0S-R4n5w,35147
|
|
24
|
+
deepdoctection/datapoint/view.py,sha256=lVUTi2vfh6w7k92kcwQNpKmfOGgZmM12bYJUFrO5Pno,57163
|
|
25
25
|
deepdoctection/datasets/__init__.py,sha256=4ifjIwWCPYiS31GzUlVDScrkNOrb1eo5xHlRXNyg_58,994
|
|
26
26
|
deepdoctection/datasets/adapter.py,sha256=VSLM_980aHi4TpgOxfxiBHiF_fUXyh348PXet6zTo-4,7779
|
|
27
27
|
deepdoctection/datasets/base.py,sha256=HTIquJir2BZRTLl1HSQM0ICfvjIaWAjJeyz3BEHgdb0,23175
|
|
@@ -51,10 +51,10 @@ deepdoctection/eval/registry.py,sha256=us6EGN_tAia1Mk1mwWQwDeE-xqxcuopztdi8n-ieG
|
|
|
51
51
|
deepdoctection/eval/tedsmetric.py,sha256=EcNeJynsmxyl5bOH3bjy2wE647ONf0SF5OZyGbVu35Q,9963
|
|
52
52
|
deepdoctection/eval/tp_eval_callback.py,sha256=lqrOn2tdaRiF_Vr_9CwBr2ryatcWu3mQKya8YZ2pA9A,5261
|
|
53
53
|
deepdoctection/extern/__init__.py,sha256=jG2qe5_X7fJFnJlx04Lf1KUTXKKKYtCkKR7WQ7looUk,991
|
|
54
|
-
deepdoctection/extern/base.py,sha256=
|
|
54
|
+
deepdoctection/extern/base.py,sha256=LomTR9HXcBU55MPDIA8D1rIamk7DUmToJmgcRXzCoeU,31650
|
|
55
55
|
deepdoctection/extern/d2detect.py,sha256=I0oEkprr5iVpKpM3a3nknAU-sXwNoDQdp_B1gzzODsk,22374
|
|
56
56
|
deepdoctection/extern/deskew.py,sha256=L_jU0rXh03qzwaT79EIqE_zYMUVeFwWDbsGbtahuL2k,3124
|
|
57
|
-
deepdoctection/extern/doctrocr.py,sha256=
|
|
57
|
+
deepdoctection/extern/doctrocr.py,sha256=vOI67NCeEznHzdY4zu1tggwg3_PfwV1eigsr2Z8EPzc,25543
|
|
58
58
|
deepdoctection/extern/fastlang.py,sha256=4D9A-_hTXUcvXG6IJJknX34LrD71v08XtNdWgvXD7fE,4736
|
|
59
59
|
deepdoctection/extern/hfdetr.py,sha256=N3eLNI5BsQS9_7YZyBeWndSgUydJij7ugZA9p4V1xaQ,14316
|
|
60
60
|
deepdoctection/extern/hflayoutlm.py,sha256=3mZZ3byn00jSrLWO2vZFas9j4VrhbYQNmF1mwPG2ElQ,59642
|
|
@@ -62,7 +62,7 @@ deepdoctection/extern/hflm.py,sha256=y-9brzmT2NYtFoNcWHABNg2ZZQXSOP9CyqtT1OoeV9U
|
|
|
62
62
|
deepdoctection/extern/model.py,sha256=-GbnuhLFq7jpBOvtpJe6IhGXxQdqwiM8epEd7IRELoU,18234
|
|
63
63
|
deepdoctection/extern/pdftext.py,sha256=ljzPQn3yYAlS6MoZqzixD-fO2GlHwu1aMiOQ6qMIzbg,7513
|
|
64
64
|
deepdoctection/extern/tessocr.py,sha256=SuPmngsJg38riL4b09z6_FIzJH6H3RIwoighG2GPMYM,17457
|
|
65
|
-
deepdoctection/extern/texocr.py,sha256=
|
|
65
|
+
deepdoctection/extern/texocr.py,sha256=wVOuu6eUGao0mUbC8vrgdCsKfY1GqA1Am9560YgWyXU,5915
|
|
66
66
|
deepdoctection/extern/tpdetect.py,sha256=Kr00n80V_OfE-EGfpjiVw1eAQ2n2tuT-hSco-dLSR9E,8516
|
|
67
67
|
deepdoctection/extern/pt/__init__.py,sha256=3Cu0ZHjbYsJomru7-RQXEHihEQLegZrmLetlHiqS58I,742
|
|
68
68
|
deepdoctection/extern/pt/nms.py,sha256=2lSpEH8cI_QXdz5xL_OaitqsGoHhp5xvDssK5Yo8q4Q,2218
|
|
@@ -101,9 +101,9 @@ deepdoctection/mapper/pascalstruct.py,sha256=PviZjhTk4p5HDUTlF8qhWPyraKD0uh51f2h
|
|
|
101
101
|
deepdoctection/mapper/prodigystruct.py,sha256=OWzPUbNDrqwFipH8YWI5eSxwMdA7qYczaFdsHNrE_4c,7001
|
|
102
102
|
deepdoctection/mapper/pubstruct.py,sha256=UTyfUmzMSuf2BXtdYwHjK7ngsIwAxSZjwTxDtz6DySg,23416
|
|
103
103
|
deepdoctection/mapper/tpstruct.py,sha256=dxtEVHYVnkH-zjjbHzkFrPgS9eheys6E-CMlsjaOnxo,5468
|
|
104
|
-
deepdoctection/mapper/xfundstruct.py,sha256=
|
|
104
|
+
deepdoctection/mapper/xfundstruct.py,sha256=JVs92T5l3HedQvdc6ZMACj2mq5Co4WCS9B-CnQ01opA,9092
|
|
105
105
|
deepdoctection/pipe/__init__.py,sha256=E3cYAVWOvMzIN7jbKFyqLjFXahcFGcAGkb1uChM_XCY,1034
|
|
106
|
-
deepdoctection/pipe/anngen.py,sha256=
|
|
106
|
+
deepdoctection/pipe/anngen.py,sha256=I7VFoTTa-sJCBwFJNaZeLD7pcrLjRPTX2I6-ZDCDHPI,16819
|
|
107
107
|
deepdoctection/pipe/base.py,sha256=oszB_DepcFtORvDdGTZZPWMhk01C68RUWXHjeX7SF3M,18163
|
|
108
108
|
deepdoctection/pipe/common.py,sha256=OcsqHr_c66Yqt98hFeKwaa0mciWMCauw0HZ3YnHx8MU,24586
|
|
109
109
|
deepdoctection/pipe/concurrency.py,sha256=_EKZi4eCeF3mVHytZL_fMwyqa25C2aR9g8vrIFB8iR4,9780
|
|
@@ -111,7 +111,7 @@ deepdoctection/pipe/doctectionpipe.py,sha256=ik5F92F3klI5Nve_AnyIRj-ApMoKHSR2Sjc
|
|
|
111
111
|
deepdoctection/pipe/language.py,sha256=T5g5_2GIsbTltAmn_PFymMUMoik8_b0uJNx8f5dT9MM,5898
|
|
112
112
|
deepdoctection/pipe/layout.py,sha256=oAldMtwyZee1IqpuflKKvmeL2Z_nXFiqwFMS4VYv5eI,6391
|
|
113
113
|
deepdoctection/pipe/lm.py,sha256=nYI2bm0sc9d3JMlIPyNyd4XxXFRBIHRUYfMImuek6b4,19793
|
|
114
|
-
deepdoctection/pipe/order.py,sha256=
|
|
114
|
+
deepdoctection/pipe/order.py,sha256=8CqEWUA6U9HxThKKGP9yJMbRaML2by7do0Gdhl_7AdI,40964
|
|
115
115
|
deepdoctection/pipe/refine.py,sha256=SrMcAWXRO5tJpqaZCEz9RzvjPyiQiE8fZ9TXBcaBKck,23310
|
|
116
116
|
deepdoctection/pipe/registry.py,sha256=uT5fnHjffoNGk2JPuD2-pMYtO3Iko7-wrwVZVCWLtok,906
|
|
117
117
|
deepdoctection/pipe/segment.py,sha256=rHhEWr5zZ1ppj-gMa-q-UCr1AYTWpUW7oA1umwebqBI,61302
|
|
@@ -125,25 +125,25 @@ deepdoctection/train/hf_layoutlm_train.py,sha256=bNL5OCLKytshG6kaTJDLTQOcvWKwEsY
|
|
|
125
125
|
deepdoctection/train/tp_frcnn_train.py,sha256=Tltb-v2JD5oPuHCZGA9B5DM4ZaidoBITlH93QX-KPKI,13570
|
|
126
126
|
deepdoctection/utils/__init__.py,sha256=brBceRWeov9WXMiJTjyJOF2rHMP8trGGRRjhMdZ61nI,2371
|
|
127
127
|
deepdoctection/utils/concurrency.py,sha256=9ly81D5i2ZFzKfXMIUSmhT42eMs4QttsRhWXdkIk6Aw,5832
|
|
128
|
-
deepdoctection/utils/context.py,sha256=
|
|
129
|
-
deepdoctection/utils/develop.py,sha256=
|
|
130
|
-
deepdoctection/utils/env_info.py,sha256=
|
|
128
|
+
deepdoctection/utils/context.py,sha256=5QfdzxsiSPnNs1qtJdgjguIoD8srLQ2W8oeDzwp9F78,4522
|
|
129
|
+
deepdoctection/utils/develop.py,sha256=x2MhbmoKZyRluesmc01is7ldrUN9c0TX4OAuc1yt6dI,3569
|
|
130
|
+
deepdoctection/utils/env_info.py,sha256=b1WohrfQuoL-BPN0_s8Rjtwzx-WKvCyaX2I4qYl1Emc,19878
|
|
131
131
|
deepdoctection/utils/error.py,sha256=sIry8F5MZ0yLvKfAwVz90IorKWVvjoRqcC0L8qq8mLk,2480
|
|
132
|
-
deepdoctection/utils/file_utils.py,sha256=
|
|
132
|
+
deepdoctection/utils/file_utils.py,sha256=EepfAZVADaqpBdVq2LOJXLFLsMd_oZF_FAKUHOAhiZ0,25246
|
|
133
133
|
deepdoctection/utils/fs.py,sha256=KTS9FJzZk9le_vmIPr9IisJw0AyTfjkyX1KoWQy4DNs,12729
|
|
134
134
|
deepdoctection/utils/identifier.py,sha256=Jt12MeZf7eC1qciY5Fp_AYUGxYVcjsy7xNBUvJil7dU,2270
|
|
135
135
|
deepdoctection/utils/logger.py,sha256=ddQ0xBStluf8OvoRlEB8YkqyRR-ZYgyJYLClTmJJMAU,10290
|
|
136
136
|
deepdoctection/utils/metacfg.py,sha256=5M390--ZMoyJEt5oZOwFMGt2i8OF_ayeb0NVmUO_3OQ,7235
|
|
137
137
|
deepdoctection/utils/mocks.py,sha256=IkN3-IzAl4eX0ibgKIHg8IY7ykVw6BnpF6XnxKnKaZI,2389
|
|
138
138
|
deepdoctection/utils/pdf_utils.py,sha256=BrxTuY9j0COyIRkJchJ0tt2h6ZsA2an6z-H8E8QwgUQ,13490
|
|
139
|
-
deepdoctection/utils/settings.py,sha256=
|
|
139
|
+
deepdoctection/utils/settings.py,sha256=0P6nh9-84wWyMm9J7w9I7gI1xo8mN4M4xZ0IXzcqDbE,12862
|
|
140
140
|
deepdoctection/utils/tqdm.py,sha256=kx3Ivf0x85S0ZmEaN5mImu0V6isOgygOU8iyr2U99XU,1850
|
|
141
141
|
deepdoctection/utils/transform.py,sha256=jgeCyQWLN9q79jCGW7jysyKUKcJ1AVMk8OslF-3fbag,16095
|
|
142
142
|
deepdoctection/utils/types.py,sha256=ti4WdtIJSg3TGK_YPkkoY9PYGMnR2tTX6Xfik8U1pNk,2986
|
|
143
143
|
deepdoctection/utils/utils.py,sha256=NBUb1qbx8Jm-AvYN1Sdbk0huXhbAKxZ-ZtOcMespsMM,7064
|
|
144
144
|
deepdoctection/utils/viz.py,sha256=bujRIujvX317rPz4jBrj0yd3WP8wPjDUiI5GUrw9MzQ,27339
|
|
145
|
-
deepdoctection-0.43.dist-info/licenses/LICENSE,sha256=GQ0rUvuGdrMNEI3iHK5UQx6dIMU1QwAuyXsxUHn5MEQ,11351
|
|
146
|
-
deepdoctection-0.43.dist-info/METADATA,sha256=
|
|
147
|
-
deepdoctection-0.43.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
148
|
-
deepdoctection-0.43.dist-info/top_level.txt,sha256=hs2DdoOL9h4mnHhmO82BT4pz4QATIoOZ20PZmlnxFI8,15
|
|
149
|
-
deepdoctection-0.43.dist-info/RECORD,,
|
|
145
|
+
deepdoctection-0.43.3.dist-info/licenses/LICENSE,sha256=GQ0rUvuGdrMNEI3iHK5UQx6dIMU1QwAuyXsxUHn5MEQ,11351
|
|
146
|
+
deepdoctection-0.43.3.dist-info/METADATA,sha256=tFoZH2VB3ZkiTwzVmd1OBlg1f6eFLrKwwcLyYo6BX1g,13389
|
|
147
|
+
deepdoctection-0.43.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
148
|
+
deepdoctection-0.43.3.dist-info/top_level.txt,sha256=hs2DdoOL9h4mnHhmO82BT4pz4QATIoOZ20PZmlnxFI8,15
|
|
149
|
+
deepdoctection-0.43.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|