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

1""" 

2Table-only extractors. 

3 

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: 

8 

9- `Parser` -> `DoclingDocument` (whole document, structured) 

10- `TableExtractor` -> `list[ExtractedTable]` (tables only, Pydantic models) 

11 

12Composition of the two is intentionally deferred. 

13 

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""" 

19 

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 

25 

26__all__ = [ 

27 "SetOfMarkExtractor", 

28 "ExtractedTable", 

29 "ExtractionRecord", 

30 "FilledCell", 

31 "MockTableExtractor", 

32 "TableExtractor", 

33 # deprecated / dormant 

34 "CamelotCorrespondenceExtractor", 

35 "CamelotLLMTableExtractor", 

36]