Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* Move non_existing_file_handling_mode to EvaluatorParams

* Rename to pred_handling_mode, implement 'skip'

* Set default to 'empty'

This was the (effective) default before and is expected by the tests.

* eval --non_existing_pred_handling_mode: fix 'skip' case

* eval --non_existing_pred_handling_mode: pass GT ids for confusion/worst report

Co-authored-by: Florian Strunz <>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Python Test Upload Python Package Lint

OCR Engine based on OCRopy and Kraken using python3. It is designed to both be easy to use from the command line but also be modular to be integrated and customized from other python scripts.



The documentation of Calamari is hosted here.

Pretrained model repository

Pretrained models are available at ( The current release can be accessed here (255 MB).


Calamari is available on pypi:

pip install calamari-ocr

Read the docs for further instructions.

Command-Line Interface

See the docs to learn how to use Calamari from the command line.

Calamari API

See the docs to learn how to adapt Calamari for your needs.

Citing Calamari

If you use Calamari in your Research-Project, please cite:

Wick, C., Reul, C., Puppe, F.: Calamari - A High-Performance Tensorflow-based Deep Learning Package for Optical Character Recognition. Digital Humanities Quarterly 14(1) (2020)

    title = {Calamari - {A} {High}-{Performance} {Tensorflow}-based {Deep} {Learning} {Package} for {Optical} {Character} {Recognition}},
    volume = {14},
    number = {1},
    journal = {Digital Humanities Quarterly},
    author = {Wick, Christoph and Reul, Christian and Puppe, Frank},
    year = {2020},