Original manuscript photographs from the HMML Vööbus collection, packaged with provenance metadata for OCR/HTR research and transcription. Release status: inprogress. 7,379 image records uploaded out of 75,581 catalogue entries.
Dataset Card
By Drew Tada, published under cc-by-4.0, revision 5fcc3ca81d39.
Vööbus Syriac Manuscript Photographs
Original manuscript photographs from the HMML Vööbus collection, packaged with provenance metadata for OCR/HTR research and transcription.
Release status: in_progress. 7,379 image records uploaded out of 75,581 catalogue entries. The catalogue configuration contains the full inventory; the images configuration contains only successfully downloaded, decoded, and uploaded images. See ingestion-status.json for the latest counts and ingestion-errors.jsonl for unresolved records.
Load
from datasets import load_dataset
images = load_dataset("tadad/voobus-syriac-manuscripts", "images", split="train", streaming=True)
example = next(iter(images))
example["image"].save("example.png")
catalogue = load_dataset("tadad/voobus-syriac-manuscripts", "catalogue", split="train")
Each image is embedded in a Parquet shard. Loading images does not depend on HMML's server.
JPEG bytes are preserved without resizing or recompression. Dimensions and SHA-256 hashes
refer to these original files. The train split is a storage convention, not a benchmark split.
Scope and transcription status
This is an image corpus, not supervised OCR ground truth. transcription is null and
transcription_status is not_provided. This means no transcription is supplied here; it
does not claim that no scholarly transcription exists elsewhere. No synthetic OCR labels
are included. Per-image language, script, manuscript ID, and folio label are unannotated.
The archive predominantly concerns Syriac but includes Arabic-script material, mixed layouts,
photographs of people and places, miscellaneous objects, and unidentified items. All catalogue
groups are retained and exposed in collection_group; no automatic script labels are asserted.
The photographs group can be filtered out for manuscript-only work, but other groups still
require curation. An image may show two pages, a partial page, or a repeated exposure.
An image count is not a unique manuscript-page count.
Source descriptions and folder names are preserved verbatim apart from HTML decoding.
Numbers such as Page_103 often refer to film-storage binder sleeves, not manuscript folios.
There is no reliable manuscript-level train/test partition. Exact duplicates can be identified
using sha256; exposures and text duplicates are retained for later curation.
Provenance and acquisition
- Photographer: Arthur Vööbus; archive digitized and hosted by the Hill Museum & Manuscript Library.
- Collection history
- Arrangement and metadata limitations
- Catalogue snapshot: 2026-10-04 UTC, 75,581 unique image-entry URLs.
source_page_urllinks to the item viewer;source_image_urlrecords the acquired file.image_url_resolutiondistinguishes URLs read from viewer HTML from catalogue-derived URLs.- Downloads are rate limited, retried, JPEG-decoded, and checksummed before publication.
- The first batch prioritizes Baghdad 513 (CPB 00463), whose earlier photographs preserve text subsequently lost from the physical manuscript. This ordering is not a representative sample.
License and attribution
This dataset release is distributed under CC BY 4.0. The dataset publisher obtained HMML's permission to download, process, and redistribute the collection without restrictions; permission was confirmed by the publisher on 2026-10-04. See PERMISSIONS.md. Credit Arthur Vööbus and HMML, retain the item-level source links, and identify modifications. Public-domain material remains public domain. This dataset is not an official HMML release and does not imply HMML endorsement of models or downstream outputs.
Reproduce or resume
The ingestion source is under builder/. Download that directory and catalogue/records.parquet.
Inside the builder directory, run uv sync, then uv run ingest.py init --catalogue
../catalogue/records.parquet and uv run ingest.py run --repo-id YOUR_NEW_REPOSITORY.
Copy LICENSE and PERMISSIONS.md into the builder directory before publishing.
The local SQLite checkpoint,
download cache, and API credentials are not uploaded. Each completed shard is verified against
its remote SHA-256 before local cached images are removed. An interrupted run can be resumed.
Details
- Repository
- tadad/voobus-syriac-manuscripts
- Publisher
- Drew Tada
- Task category
- Image to text
- Tags
- historical-manuscripts, syriac, handwriting
- Size category
- 1K<n<10K
- Languages
- syr, ar
- Revision
- 5fcc3ca81d395930ea336a1ed7668756580793ba
- Last updated
- 2026-10-04
Files
75 files, 13.1 GB in total.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| catalogue/records.parquet | Data | 1.8 MB | c2e217ef4c62 |
| data/train-000000.parquet | Data | 62.2 MB | e34e0293a9de |
| data/train-000001.parquet | Data | 204.7 MB | 405b630a2080 |
| data/train-000002.parquet | Data | 78.9 MB | b7f55ee2ef58 |
| data/train-000003.parquet | Data | 260.9 MB | e738d08b6d56 |
| data/train-000004.parquet | Data | 264.3 MB | f6f68ad0422b |
| data/train-000005.parquet | Data | 236.0 MB | 8369b0a2770b |
| data/train-000006.parquet | Data | 228.7 MB | a3ad64fb42ce |
| data/train-000007.parquet | Data | 258.9 MB | 7f0ed103cc24 |
| data/train-000008.parquet | Data | 264.3 MB | 2d4316864a97 |
| data/train-000009.parquet | Data | 210.5 MB | 60af2acd7eff |
| data/train-000010.parquet | Data | 197.3 MB | 757e02b2e125 |
| data/train-000011.parquet | Data | 174.0 MB | 4369d1c6bba7 |
| data/train-000012.parquet | Data | 223.5 MB | 9f450890ee8d |
| data/train-000013.parquet | Data | 229.5 MB | a02f0d92bbb7 |
| data/train-000014.parquet | Data | 225.9 MB | bf0803b480db |
| data/train-000015.parquet | Data | 212.2 MB | 185677a6c553 |
| data/train-000016.parquet | Data | 262.3 MB | 9dfb80a5a676 |
| data/train-000017.parquet | Data | 266.8 MB | 7ba32efca623 |
| data/train-000018.parquet | Data | 160.7 MB | 5958d1c80949 |
| data/train-000019.parquet | Data | 168.2 MB | a566d78e4c88 |
| data/train-000020.parquet | Data | 157.1 MB | 19ac5f659acd |
| data/train-000021.parquet | Data | 139.2 MB | d632ee0b35d3 |
| data/train-000022.parquet | Data | 147.8 MB | d9a227fba63e |
| data/train-000023.parquet | Data | 243.1 MB | ddc64e091904 |
| data/train-000024.parquet | Data | 220.3 MB | 0087abaf70e2 |
| data/train-000025.parquet | Data | 258.3 MB | 52059b49009d |
| data/train-000026.parquet | Data | 268.1 MB | d4a12bc328da |
| data/train-000027.parquet | Data | 267.2 MB | 858a2c08317e |
| data/train-000028.parquet | Data | 257.0 MB | b3c39ae4e827 |
| data/train-000029.parquet | Data | 198.0 MB | 0e18670a6547 |
| data/train-000030.parquet | Data | 117.2 MB | 515bb8fccf49 |
| data/train-000031.parquet | Data | 110.2 MB | f2117da2ded9 |
| data/train-000032.parquet | Data | 117.3 MB | b4cdc2546d18 |
| data/train-000033.parquet | Data | 106.0 MB | 1d726ef182dd |
| data/train-000034.parquet | Data | 109.6 MB | 2ce4f4bace7f |
| data/train-000035.parquet | Data | 118.1 MB | 3cb591e5aec5 |
| data/train-000036.parquet | Data | 132.2 MB | e5685c7ddf45 |
| data/train-000037.parquet | Data | 263.3 MB | ef04656c293f |
| data/train-000038.parquet | Data | 266.5 MB | 80b05a0e565a |
| data/train-000039.parquet | Data | 265.4 MB | df5a456cd883 |
| data/train-000040.parquet | Data | 265.2 MB | 936c20cda8b2 |
| data/train-000041.parquet | Data | 266.3 MB | ed00b7a3d046 |
| data/train-000042.parquet | Data | 258.7 MB | dbac56b2c706 |
| data/train-000043.parquet | Data | 265.1 MB | a22c75a0eee1 |
| data/train-000044.parquet | Data | 252.7 MB | 2c394990c1cf |
| data/train-000045.parquet | Data | 262.4 MB | 234aacf1c227 |
| data/train-000046.parquet | Data | 230.2 MB | 97c53096cbb6 |
| data/train-000047.parquet | Data | 171.0 MB | e45be242a2f1 |
| data/train-000048.parquet | Data | 202.9 MB | a6469f7fbe0e |
| data/train-000049.parquet | Data | 262.4 MB | 81be3b40cd55 |
| data/train-000050.parquet | Data | 259.7 MB | 195286cc4bcd |
| data/train-000051.parquet | Data | 262.2 MB | 327f7dee0685 |
| data/train-000052.parquet | Data | 261.7 MB | 6cb7331b4f07 |
| data/train-000053.parquet | Data | 235.9 MB | 5f2fb10be1aa |
| data/train-000054.parquet | Data | 263.8 MB | 38c6dcb8c1b8 |
| data/train-000055.parquet | Data | 234.4 MB | 26698511e886 |
| data/train-000056.parquet | Data | 149.9 MB | b5ea2c1d1629 |
| data/train-000057.parquet | Data | 226.4 MB | 158b11692b03 |
| data/train-000058.parquet | Data | 266.4 MB | 3caeadf9856b |
| data/train-000059.parquet | Data | 267.2 MB | f762490e884b |
| data/train-000060.parquet | Data | 259.5 MB | 8b21414c3fa9 |
| ingestion-errors.jsonl | Data | — | |
| ingestion-status.json | Data | 324 B | — |
| LICENSE | Documentation | 18.7 KB | — |
| PERMISSIONS.md | Documentation | 1.0 KB | — |
| README.md | Documentation | 4.9 KB | — |
| builder/README.md | Documentation | 2.1 KB | — |
| builder/corpus.py | Other | 10.1 KB | — |
| builder/ingest.py | Other | 17.5 KB | — |
| builder/pyproject.toml | Other | 486 B | — |
| builder/tests/test_ingest.py | Other | 3.6 KB | — |
| builder/uv.lock | Other | 171.2 KB | — |
| .gitattributes | Repository | 2.5 KB | — |
| builder/.gitignore | Repository | 70 B | — |
License and Download
- License
- cc-by-4.0
- Access
- No access gate
Released by Drew Tada through its official repository on Hugging Face. Read the license.