Skip to content

Support surya-ocr 0.20 (transformers 5.x / Pillow 12 / huggingface-hub 1.x) #1048

Description

@gkriegspeedbay

Context

marker 1.10.2 pins surya-ocr<0.18, transformers<5, and Pillow<11. Because surya 0.20
restructured its recognition/foundation API (recognition now runs through a GGUF VLM served
by SuryaInferenceManager), marker 1.10.2 can't import surya 0.20 as-is, and the caps
transitively block transformers 5.x / Pillow 12 for marker and anything built on it.

The surya side of this is already in flight: datalab-to/surya#492 (transformers 5
incompatibility) with fixes in datalab-to/surya#520 (transformers 5.x + huggingface-hub 1.x)
and datalab-to/surya#519 (Pillow 11/12).

What I have

I've got a working migration of marker to surya 0.20's API — adapting create_model_dict to
the shared SuryaInferenceManager, the layout/recognition/table-rec/equation call sites to
the new signatures, and the recognition consumption from the old per-char OCRResult to
0.20's per-block HTML (PageOCRResult). It's validated end-to-end: a real PDF converts to
non-empty markdown on transformers 5.x + Pillow 12 (both the provider-text and force_ocr
paths, with the llama.cpp VLM backend). A few 0.17-era config knobs (e.g. disable_ocr_math,
the various *_batch_size, keep_chars for OCR'd content) become inert under 0.20's API,
which I've documented in place.

Question

Would you welcome a PR for this, or is a surya-0.20 integration already in progress on your side?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions