Skip to main content

churro-ocr

churro-ocr is a Python toolkit for OCR and page detection on historical documents.

Full documentation and project overview live at https://stanford-oval.github.io/Churro/.

Install

For the CLI-first workflow used in the docs, install Churro with UV as a tool.

uv tool install churro-ocr

If you are adding churro-ocr to a project instead, use uv add churro-ocr and prefix CLI commands with uv run.

Runtime setup and provider-specific install commands are in Getting Started and Providers And Configuration.

Which API Should You Use?

Goal API
OCR one page or one image OCRClient
Detect page crops only DocumentPageDetector
Run an end-to-end image or PDF OCR workflow DocumentOCRPipeline
Tune backend/provider options directly build_ocr_backend(...) + OCRBackendSpec

Quick Start

This example assumes you already installed the runtime for the provider you want to use.

from churro_ocr.ocr import OCRClient
from churro_ocr.providers import OCRBackendSpec, build_ocr_backend

backend = build_ocr_backend(
    OCRBackendSpec(
        provider="litellm",
        model="vertex_ai/gemini-2.5-flash",
    )
)

page = OCRClient(backend).ocr_image(image_path="scan.png")

print(page.text)

More

Metadata

Release files for churro-ocr 0.3.0

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

Source distribution (sdist)

Source distribution for churro-ocr 0.3.0
File Size Uploaded
churro_ocr-0.3.0.tar.gz 89.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for churro-ocr 0.3.0
File Interpreter ABI Platform
churro_ocr-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 192.9 kB

Release files / churro_ocr-0.3.0.tar.gz

Download URL churro_ocr-0.3.0.tar.gz
Size 89.6 kB
Tags Source
SHA-256 checksum
How to use checksums
40cc89bb6de22d8cca1d9989c9f9542807fc0be5998089f14bc7b1907144231f
BLAKE2b-256 checksum
How to use checksums
5fb5a5ee3c5612328c53f354c4dbc52c4f3d18e0a7a844e95b53449995277827
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 16, 2026.

Transparency log

Release files / churro_ocr-0.3.0-py3-none-any.whl

Download URL churro_ocr-0.3.0-py3-none-any.whl
Size 103.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57c8d0546cab3b2366540e2d688fbafeee354d30b5b9933c396f6d006c88a7b6
BLAKE2b-256 checksum
How to use checksums
281f326fe152b0bb54c463e21672baa6bfb48609c88738b3975870271cfdb81e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.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