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-2.0.0.tar.gz (94.2 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-2.0.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ocrbridge_core-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e763390d44f313050686756056a62458ce4a44ba89760b395a5389add7b70a64
MD5 cb25bda1d56bdb193662cc96f7be2891
BLAKE2b-256 acedaf98ad6d9c57f277e414dc8962a44341a5726c8e15a120ea8fd15fc0d331

See more details on using hashes here.

Provenance

The following attestation bundles were made for ocrbridge_core-2.0.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-2.0.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for ocrbridge_core-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2666b0c9489f3b92108502971c503db31a2eca106836ade6259724ec47bd174f
MD5 504d2bd3d81fdd6e047648a2db623adc
BLAKE2b-256 f12af64fada140f7a2c0e750a89ea59df9a46299b2cdc697fe35d1381754d1da

See more details on using hashes here.

Provenance

The following attestation bundles were made for ocrbridge_core-2.0.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