Some checks failed
tests / core (macos-latest, py3.11) (push) Has been cancelled
tests / core (macos-latest, py3.12) (push) Has been cancelled
tests / core (macos-latest, py3.13) (push) Has been cancelled
tests / core (ubuntu-latest, py3.11) (push) Has been cancelled
tests / core (ubuntu-latest, py3.12) (push) Has been cancelled
tests / core (ubuntu-latest, py3.13) (push) Has been cancelled
tests / doctor CLI smoke test (push) Has been cancelled
ISBN regex now requires an explicit prefix, so it stops matching years, URLs, job IDs, and dilution ratios. doctor checks the environment end to end: Python, Tesseract, PaddleOCR, the PyTorch backend, table/figure detectors, scispaCy, config, DB, output. CI runs on 2 OS x 3 Python versions plus a doctor smoke job. Also added a changelog
2.8 KiB
2.8 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
initcommand: writes a minimalconfig.yamlwith platform-correct defaults and checks for Tesseract.democommand: runs the pipeline on a bundled sample screenshot, prints the output Markdown, and verifies the install in <30s.setup [basic|full]command: executes install steps with confirmation (--yes/--dry-run).doctorcommand: health check for Python, Tesseract, PaddleOCR, PyTorch backend, table/figure detectors, scispaCy model, config, database, and output directory.- Lazy settings:
settingsis a proxy; importing the package no longer readsconfig.yamlfrom cwd. - Config search paths:
$OCR_PIPELINE_CONFIG→./config.yaml→ per-user config dir. - Optional dependency extras:
paddle,tables,figures,scientific,kg,full. - Engine-aware preprocessing: PaddleOCR reads the (size-capped) original image; Tesseract reads the binarized derivative. Fixes dark-mode OCR quality (confidence 0.83 → 0.95 on test screenshots).
data/test_run_fullsample run on 7 screenshots demonstrating full-stack output.- Tests for citations (19), doctor (15), and startup (12).
Changed
- Code defaults are now safe: Tesseract OCR, detectors/entities off. The repo's
config.yamlkeeps the full stack for development. - Detectors default to
enabled: false; enable per-detector in your config. - OCR engine default is now
tesseract(waspaddleocr). runresults table now shows Skipped count.- Run directories are created lazily on first write (no empty
run_NNN). kg_ocrpackage marked experimental; deps under--extra kg, helpful ImportError on bare import.
Fixed
- ISBN regex no longer false-positives on years, URLs, job IDs, or dilutions. Now requires an explicit
ISBNprefix and matches strict 13- or 10-digit structures. opencv-python-headlesspinned to<5.0.0; the 5.0 wheel did not ship a workingcv2module on Python 3.13.import ocr_pipelineno longer depends on the caller's cwd.
Removed
- Unused core dependencies:
tqdm,scikit-image,sqlite-utils,xxhash,python-slugify,python-magic,legacy-cgi. - Core dependency on
spacy(moved toscientificextra). - Core dependency on
paddleocr/paddlepaddle(moved topaddleextra). - Core dependency on
torch/torchvision/transformers/timm(moved totablesextra). - Core dependency on
layoutparser(moved tofiguresextra).
[0.1.0] - Initial
Initial release with PaddleOCR + Tesseract fallback, scispaCy NER, layout-aware detectors, citation matching, and Markdown output with YAML frontmatter.