Skip to main content

sp



Sinapsis DocTR

DocTR-based Optical Character Recognition (OCR) for images

🐍 Installation • 🚀 Features • 📚 Usage example • 🌐 Webapp • 📙 Documentation • 🔍 License

Sinapsis DocTR provides a powerful and flexible implementation for extracting text from images using the DocTR OCR engine. It enables users to easily configure and run OCR tasks with minimal setup.

🐍 Installation

Install using your package manager of choice. We encourage the use of uv

Example with uv:

  uv pip install sinapsis-doctr --extra-index-url https://pypi.sinapsis.tech

or with raw pip:

  pip install sinapsis-doctr --extra-index-url https://pypi.sinapsis.tech

[!IMPORTANT] Templates may require extra dependencies. For development, we recommend installing the package with all the optional dependencies:

with uv:

  uv pip install sinapsis-doctr[all] --extra-index-url https://pypi.sinapsis.tech

or with raw pip:

  pip install sinapsis-doctr[all] --extra-index-url https://pypi.sinapsis.tech

[!TIP] Use CLI command sinapsis info --all-template-names to show a list with all the available Template names installed with Sinapsis OCR.

[!TIP] Use CLI command sinapsis info --example-template-config DocTROCRPrediction to produce an example Agent config for the DocTROCRPrediction template.

🚀 Features

Templates Supported

This module includes a template tailored for the DocTR OCR engine:

  • DocTROCRPrediction: Uses DocTR's OCR model to extract text, bounding boxes, and confidence scores from images.
DocTROCRPrediction Attributes
  • recognized_characters_as_labels (bool): Whether to use recognized characters as labels. Defaults to False.
  • artefact_type_as_labels (bool): Whether to use artefact type as labels. Defaults to False.
  • det_arch (str): Detection architecture to use. Defaults to "fast_base".
  • reco_arch (str): Recognition architecture to use. Defaults to "crnn_vgg16_bn".
  • pretrained (bool): Whether to use pretrained models. Defaults to True.
  • pretrained_backbone (bool): Whether to use pretrained backbone. Defaults to True.
  • assume_straight_pages (bool): Whether to assume pages are straight. Defaults to True.
  • preserve_aspect_ratio (bool): Whether to preserve aspect ratio. Defaults to True.
  • symmetric_pad (bool): Whether to use symmetric padding. Defaults to True.
  • export_as_straight_boxes (bool): Whether to export as straight boxes. Defaults to False.
  • detect_orientation (bool): Whether to detect orientation. Defaults to False.
  • straighten_pages (bool): Whether to straighten pages. Defaults to False.
  • detect_language (bool): Whether to detect language. Defaults to False.

📚 Usage example

DocTR Example
agent:
  name: doctr_prediction
  description: agent to run inference with DocTR, performs on images read, recognition and save

templates:
- template_name: InputTemplate
  class_name: InputTemplate
  attributes: {}

- template_name: FolderImageDatasetCV2
  class_name: FolderImageDatasetCV2
  template_input: InputTemplate
  attributes:
    data_dir: dataset/input

- template_name: DocTROCRPrediction
  class_name: DocTROCRPrediction
  template_input: FolderImageDatasetCV2
  attributes:
    recognized_characters_as_labels: True

- template_name: BBoxDrawer
  class_name: BBoxDrawer
  template_input: DocTROCRPrediction
  attributes:
    draw_confidence: True
    draw_extra_labels: True

- template_name: ImageSaver
  class_name: ImageSaver
  template_input: BBoxDrawer
  attributes:
    save_dir: output
    root_dir: dataset

To run, simply use:

sinapsis run name_of_the_config.yml

🌐 Webapp

The webapp provides a simple interface to extract text from images using DocTR OCR. Upload your image, and the app will process it and display the detected text with bounding boxes.

[!IMPORTANT] To run the app you first need to clone the sinapsis-ocr repository:

git clone https://github.com/Sinapsis-ai/sinapsis-ocr.git
cd sinapsis-ocr

[!NOTE] If you'd like to enable external app sharing in Gradio, export GRADIO_SHARE_APP=True

[!IMPORTANT] To use DocTR in the webapp, set the environment variable: AGENT_CONFIG_PATH=/app/packages/sinapsis_doctr/src/sinapsis_doctr/configs/doctr_demo.yaml

🐳 Docker

IMPORTANT This docker image depends on the sinapsis:base image. Please refer to the official sinapsis instructions to Build with Docker.

  1. Build the sinapsis-ocr image:
docker compose -f docker/compose.yaml build
  1. Start the app container:
docker compose -f docker/compose_app.yaml up
  1. Check the status:
docker logs -f sinapsis-ocr-app
  1. The logs will display the URL to access the webapp, e.g.:

NOTE: The url can be different, check the output of logs

Running on local URL:  http://127.0.0.1:7860
  1. To stop the app:
docker compose -f docker/compose_app.yaml down
💻 UV

To run the webapp using the uv package manager, please:

  1. Create the virtual environment and sync the dependencies:
uv sync --frozen
  1. Install packages:
uv pip install sinapsis-doctr[all] --extra-index-url https://pypi.sinapsis.tech
  1. Run the webapp:
uv run webapps/gradio_ocr.py
  1. The terminal will display the URL to access the webapp, e.g.:
Running on local URL:  http://127.0.0.1:7860

NOTE: The url can be different, check the output of the terminal

  1. To stop the app press Control + C on the terminal

📙 Documentation

Documentation for this and other sinapsis packages is available on the sinapsis website

Tutorials for different projects within sinapsis are available at sinapsis tutorials page

🔍 License

This project is licensed under the AGPLv3 license, which encourages open collaboration and sharing. For more details, please refer to the LICENSE file.

For commercial use, please refer to our official Sinapsis website for information on obtaining a commercial license.

Metadata

Release files for sinapsis-doctr 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sinapsis-doctr 0.1.10
File Size Uploaded
sinapsis_doctr-0.1.10.tar.gz 22.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sinapsis-doctr 0.1.10
File Interpreter ABI Platform
sinapsis_doctr-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 43.0 kB

Release files / sinapsis_doctr-0.1.10.tar.gz

Download URL sinapsis_doctr-0.1.10.tar.gz
Size 22.4 kB
Tags Source
SHA-256 checksum
How to use checksums
00a408edddfbf3b3c3570493459459e0de3404cabb5fc1f4def74c3fe016828b
BLAKE2b-256 checksum
How to use checksums
f05d9e55c8b69f4a0e76e7ce329c02525e614cca60b120291c770bc3f73dc7c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.16

Release files / sinapsis_doctr-0.1.10-py3-none-any.whl

Download URL sinapsis_doctr-0.1.10-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06dd3e18d7ec8ba1a280dbdb6aa0a9eb72e48af3c5650f0873c8aa819c1d9576
BLAKE2b-256 checksum
How to use checksums
52289d8ae3b8b0b85d43155829f33e06187f6cc581de2d23aac8ca0e8166af31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.16

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page