Coverage for src / quber / core / extractors / dual / __init__.py: 100%

4 statements  

« prev     ^ index     » next       coverage.py v7.14.0, created at 2026-09-23 22:14 -0400

1"""Two independent table-extraction flows, run side by side. 

2 

3DEPRECATED and dormant: this side-by-side, un-reconciled exploration was the 

4step before `SetOfMarkExtractor`, which fuses the two (vision directs Camelot). 

5Kept importable for comparison only; do not build new work on it. 

6 

7 

8A *visual* flow identifies tables by looking at the rendered page (the grid 

9locator owns the table count and identity), and a *camelot* flow extracts 

10cell grids straight from the PDF. The two run concurrently and each emits 

11its own result; nothing here matches or reconciles them — that is a later 

12step. This package deliberately avoids the detector-driven box repair, 

13targeted recovery, and grid escalation of the correspondence flow: each 

14flow stands on its own. 

15""" 

16 

17from __future__ import annotations 

18 

19from quber.core.extractors.dual.models import CamelotTable, DualResult, VisualTable 

20from quber.core.extractors.dual.orchestrator import DualFlowExtractor 

21 

22__all__ = ["CamelotTable", "DualResult", "VisualTable", "DualFlowExtractor"]