Coverage for src / quber / core / extractors / __init__.py: 100%
6 statements
« prev ^ index » next coverage.py v7.14.0, created at 2026-09-23 22:14 -0400
« prev ^ index » next coverage.py v7.14.0, created at 2026-09-23 22:14 -0400
1"""
2Table-only extractors.
4`TableExtractor` is the seam for engines whose job is *table extraction*,
5not document parsing — explicitly decoupled from `Parser` (see
6core/README.md). They answer different questions and produce different
7shapes:
9- `Parser` -> `DoclingDocument` (whole document, structured)
10- `TableExtractor` -> `list[ExtractedTable]` (tables only, Pydantic models)
12Composition of the two is intentionally deferred.
14The active engine is `SetOfMarkExtractor` (vision locates each table and its
15region; Camelot fills it in-region; grounded correction cleans structure).
16`CamelotCorrespondenceExtractor` and `CamelotLLMTableExtractor` are DEPRECATED
17and dormant — kept importable for comparison, not for new use.
18"""
20from quber.core.extractors.base import ExtractedTable, ExtractionRecord, FilledCell, TableExtractor
21from quber.core.extractors.camelot.correspondence import CamelotCorrespondenceExtractor
22from quber.core.extractors.camelot.llm import CamelotLLMTableExtractor
23from quber.core.extractors.mock import MockTableExtractor
24from quber.core.extractors.set_of_mark import SetOfMarkExtractor
26__all__ = [
27 "SetOfMarkExtractor",
28 "ExtractedTable",
29 "ExtractionRecord",
30 "FilledCell",
31 "MockTableExtractor",
32 "TableExtractor",
33 # deprecated / dormant
34 "CamelotCorrespondenceExtractor",
35 "CamelotLLMTableExtractor",
36]