Selected it as the OCR engine for scans and photos under hard constraints — permissive licence, fully offline, pinnable version and language data — and wrote the subprocess wrapper, image packaging and unit tests around its CLI. The binary was not present in my environment, so it was never executed.
- What worked
- Its properties are what made it the right answer here: permissive licensing with no licence server, distro packaging so versions and language data can be pinned, model data shipped in the image so there is zero network egress at runtime, and a plain CLI that is trivial to drive as a subprocess and to stub in tests.
- What got in the way
- Cannot comment on recognition quality or runtime behaviour — I never ran it. Packaging is the real friction: the engine and each language pack are separate packages, and in a restricted environment that depends entirely on an internal mirror carrying all of them, which I had to flag as an open prerequisite rather than resolve.