release: prepare v0.8.0 - Dependency Pattern Refactoring#79
Merged
AdemBoukhris457 merged 1 commit intomainfrom Nov 9, 2025
Merged
release: prepare v0.8.0 - Dependency Pattern Refactoring#79AdemBoukhris457 merged 1 commit intomainfrom
AdemBoukhris457 merged 1 commit intomainfrom
Conversation
Breaking Changes: - OCR and VLM engines now use dependency injection pattern - Parser classes accept pre-initialized engine instances Improvements: - Code cleanup and improved API design - Enhanced documentation with migration guides
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Release v0.8.0
This release introduces a major refactoring of OCR and VLM engine configurations to use a dependency injection pattern. This change improves API clarity, enables engine reuse, and provides better separation of concerns. This is a breaking change release - users will need to update their code to use the new API.
OCR Engine Configuration: Parser classes now require pre-initialized OCR engine instances instead of individual OCR parameters
PytesseractOCREngineandPaddleOCREnginemust be instantiated separately and passed to parsersocr_lang,ocr_psm,ocr_oem,paddleocr_*, etc.) from parser constructorsocr_engineis provided,PytesseractOCREngine()is used automaticallyVLM Configuration: Parser classes now require pre-initialized VLM engine instances instead of individual VLM parameters
VLMStructuredExtractormust be instantiated separately and passed to parsersuse_vlm,vlm_provider,vlm_model,vlm_api_key) from parser constructorsvlmis provided, VLM features are disabled✨ Improvements
Dependency Injection Pattern: Cleaner API design with explicit engine initialization
Code Quality: Removed unnecessary comments from codebase for cleaner code
Consistent API: Both OCR and VLM engines now follow the same dependency pattern
🔧 Technical Changes
Refactored all parser classes:
StructuredPDFParserEnhancedPDFParserChartTablePDFParserStructuredDOCXParserUpdated CLI commands to create engine instances before parser initialization
Updated all UI components (Gradio apps) to use new engine initialization pattern
Enhanced error handling for engine initialization failures
📚 Documentation
🔄 Migration Guide
Before (v0.7.1):
After (v0.8.0):
For CLI users:
For UI users:
📦 Compatibility
Related PRs