Module boundaries

How Ovrin keeps its core dependency-free: provider code lives in separate modules, so a Tesseract user never inherits somebody else's cloud SDK.

The upstream Ovrin repo is split into modules such as:

  • the core library
  • model adapters
  • OCR modules
  • renderer modules
  • observability modules
  • an example receipt module

Why this matters

This keeps the root package zero-dependency in the core and ensures that only the modules you actually use affect your application’s dependency graph.