Skip to main content

Core interfaces and utilities for OCR Bridge engine packages

Project description

OCR Bridge Core

Core interfaces and utilities for OCR Bridge engine packages.

Overview

ocrbridge-core provides the foundational abstract base classes, models, and utilities that all OCR engine packages must implement. This package enables a modular, plugin-based architecture where OCR engines can be dynamically discovered and loaded at runtime.

Installation

pip install ocrbridge-core

For local development, we recommend using uv and the provided Makefile.

See CONTRIBUTING.md for detailed setup instructions.

# Quick start (requires uv)
make install
make check

Core Components

OCREngine Base Class

All OCR engines must inherit from OCREngine and implement:

  • process(file_path, params) - Process a document and return HOCR XML
  • name property - Engine identifier (e.g., 'tesseract', 'easyocr')
  • supported_formats property - Set of supported file extensions

OCREngineParams

Base model for engine-specific parameters using Pydantic validation.

Exceptions

  • OCRBridgeError - Base exception
  • OCRProcessingError - Processing failures
  • UnsupportedFormatError - Unsupported file format
  • EngineNotAvailableError - Engine not installed/available
  • InvalidParametersError - Invalid parameters

HOCR Utilities

Helper functions for HOCR XML parsing, validation, and conversion:

  • parse_hocr() - Parse and extract HOCR information
  • validate_hocr() - Validate HOCR structure
  • extract_bbox() - Extract bounding box coordinates
  • easyocr_to_hocr() - Convert EasyOCR results to HOCR format

Implementing a New Engine

See the engine packages for examples:

  • ocrbridge-tesseract - Simple reference implementation
  • ocrbridge-easyocr - Deep learning with GPU support
  • ocrbridge-ocrmac - Platform-specific (macOS only)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ocrbridge_core-3.1.0.tar.gz (103.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ocrbridge_core-3.1.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file ocrbridge_core-3.1.0.tar.gz.

File metadata

  • Download URL: ocrbridge_core-3.1.0.tar.gz
  • Upload date:
  • Size: 103.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ocrbridge_core-3.1.0.tar.gz
Algorithm Hash digest
SHA256 dabf79f1b6320db660b049a9dbbc97c5260936074a69f6ddddb96a330e2266db
MD5 1ba45f9c6ca948df173429b5a60c0e18
BLAKE2b-256 40f1ecf0ad67943cfdc34b18f57b287630dbed00c85f1f4a513d9d89b53e2846

See more details on using hashes here.

Provenance

The following attestation bundles were made for ocrbridge_core-3.1.0.tar.gz:

Publisher: release.yml on OCRBridge/ocrbridge-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ocrbridge_core-3.1.0-py3-none-any.whl.

File metadata

  • Download URL: ocrbridge_core-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ocrbridge_core-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b363c3a0718218da762fc7928f57f509fa177161ee236bedace4fc6e3fcf4aa
MD5 c8ad4c7b4e3aea9ba3af3fb51b01bd8e
BLAKE2b-256 83d4e23fc25c4002e003b681b69504c8a3217882f354539d31bc4fa8b6b2be61

See more details on using hashes here.

Provenance

The following attestation bundles were made for ocrbridge_core-3.1.0-py3-none-any.whl:

Publisher: release.yml on OCRBridge/ocrbridge-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page