Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ccouzens/tesseract-plumbing
Crate to expose a safe version of the tesseract-sys api
https://github.com/ccouzens/tesseract-plumbing
Last synced: 17 days ago
JSON representation
Crate to expose a safe version of the tesseract-sys api
- Host: GitHub
- URL: https://github.com/ccouzens/tesseract-plumbing
- Owner: ccouzens
- License: mit
- Created: 2021-03-06T22:06:57.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-03T16:17:24.000Z (6 months ago)
- Last Synced: 2024-10-06T09:48:27.958Z (about 1 month ago)
- Language: Rust
- Size: 34.2 KB
- Stars: 7
- Watchers: 4
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tesseract-plumbing
Crate to expose a safe version of the
[tesseract-sys](https://crates.io/crates/tesseract-sys) api.This is designed to expose the C API of
[tesseract](https://github.com/tesseract-ocr/tesseract) in a safe manner.Adding value by deviating from the API is a non-goal. That is left to libraries
that build on top of `tesseract-plumbing`.## Requirements/Features
Requires Tesseract version `5.2.0` or newer by default. Use `--no-default-features` if using an older version.
## Motivation
I'm a maintainer of both [leptess](https://crates.io/crates/leptess) and
[tesseract-rs](https://crates.io/crates/tesseract).I noticed that there was a lot of duplication in how they interact with both
[leptonica-sys](https://crates.io/crates/leptonica-sys) and
[tesseract-sys](https://crates.io/crates/tesseract-sys). Having multiple layers
of abstraction in `leptess` and `tesseract-rs` made it hard to reason about
their memory safety.Having a safety layer that stays simple improves the correctness and
maintainability of the above libraries.