Skip to content

maxent-ai/ocrpy

Repository files navigation

ocrpy

Downloads contributors PyPi tag mit-license

Unified interface to google vision, aws textract, azure, tesseract and other OCR tools

The core objective of ocrpy is to let users perform OCR, archive, index and search any document with ease, providing an intuitive interface and a powerful Pipeline API to solve common OCR-based tasks.

ocrpy achieves this by wrapping around the most popular OCR engines like Tesseract OCR, Aws Textract, Google Cloud Vision and Azure Computer Vision. It unifies the multitude of interfaces provided by a wide range of cloud tools & other open-source libraries under a common and easy-to-use interface for the user.

Getting Started

ocrpy is a Python-only package hosted on PyPI. The recommended installation method is pip

pip install ocrpy

Day-to-Day Usage

ocrpy provides various levels of abstraction for the user to perform OCR on different types of documents. The recommended and the best way to use ocrpy is through it's pipeline API as shown below.

The Pipeline API can be invoked in two ways. The first method is to define the config for running the pipeline as a yaml file and and then run the pipeline by loading it as follows:

   from ocrpy import TextOcrPipeline

   ocr_pipeline = TextOcrPipeline.from_config("ocrpy_config.yaml")
   ocr_pipeline.process()

Alternatively you can run a pipeline by directly instantiating the pipeline class as follows:

   from ocrpy import TextOcrPipeline

   pipeline = TextOcrPipeline(source_dir='s3://document_bucket/', 
                              destination_dir="gs://processed_document_bucket/outputs/", 
                              parser_backend='aws-textract', 
                              credentials_config={"AWS": "path/to/aws-credentials.env/file", 
                                           "GCP": "path/to/gcp-credentials.json/file"})
   pipeline.process()

📝 For a more detailed set of examples and tutorials on how you could use ocrpy for your use case can be found at ocrpy documentation.

Support and Documentation

  • For an in-depth reference of the ocrpy API refer to our API docs.
  • For inspiration on how to use ocrpy for your usecase, check out our tutorials or our examples.
  • If you're interested in understanding how ocrpy works, check out our Ocrpy Overview.

Feedback and Contributions

  • If you have any questions, Feedback or notice something wrong, please open an issue on GitHub Issues.
  • If you are interested in contributing to the project, please open a PR on GitHub Pull Requests.
  • Or if you just want to say hi, feel free to contact us.

Citation

If you wish to cite this project, feel free to use this BibTeX reference:

@misc{ocrpy,
    title={Ocrpy: OCR, Archive, Index and Search any documents with ease},
    author={maxentlabs},
    year={2022},
    publisher = {GitHub},
    howpublished = {\url{https://github.com/maxent-ai/ocrpy}}
}

License and Credits