emanuelevivoli/comix-v0_1-books-tiny
Comic Books Dataset v0.1 - Books Full dataset of book-level metadata from Digital Comic Museum. This is the PRODUCTION dataset. For testing, use comix_v0_tiny_books. What's Included Each book has: {book_id}.json - Book metadata with page references Purpose This dataset provides book-level metadata to group pages from comix-v0_1-pages. Workflow: Download comix-v0_1-pages (with images) Download comix-v0_1-books (metadata only) Use WebDataset… See the full description on the dataset page: https://huggingface.co/datasets/emanuelevivoli/comix-v0_1-books-tiny.
Comic Books Dataset v0.1 - Books
Full dataset of book-level metadata from Digital Comic Museum.
This is the PRODUCTION dataset. For testing, use comix_v0_tiny_books.
Dataset Description
- Total Books: 83
- Source: Digital Comic Museum (DCM-22K)
- Format: WebDataset (tar files)
- Content: Metadata only (NO images)
- License: Public Domain (CC0-1.0)
- Version: 0.1 (Group-based processing)
What's Included
Each book has:
{book_id}.json- Book metadata with page references
Purpose
This dataset provides book-level metadata to group pages from comix-v0_1-pages.
Workflow:
- Download
comix-v0_1-pages(with images) - Download
comix-v0_1-books(metadata only) - Use WebDataset pipeline to group pages by book
Quick Start
from datasets import load_dataset
import json
# Load books dataset
books = load_dataset(
"emanuelevivoli/comix-v0_1-books",
split="train",
streaming=True
)
# Iterate through books
for book in books:
book_data = json.loads(book["json"])
book_id = book_data["book_id"]
total_pages = book_data["book_metadata"]["total_pages"]
# Get page references
for page_ref in book_data["pages"]:
page_id = page_ref["page_id"]
page_number = page_ref["page_number"]
tar_file = page_ref["tar_file"]
has_seg = page_ref["has_segmentation"]
print(f"Book {book_id}: {total_pages} pages")Dataset Structure
Book JSON Schema (v0.1)
{
"book_id": "c00004",
"book_metadata": {
"series_title": null,
"issue_number": null,
"publication_date": null,
"publisher": null,
"total_pages": 68,
"license_status": "Public Domain",
"digital_source": "Digital Comic Museum"
},
"pages": [
{
"page_number": 0,
"page_id": "c00004_p000",
"tar_file": "pages-train-00000.tar",
"has_segmentation": true
},
...
],
"segments": [], // v2: story segments (to be added)
"characters": [] // v2: character bank (to be added)
}Data Splits
Split Strategy: Books are assigned to splits based on MD5 hash matching with C100 and DCM benchmark datasets.
Use Cases
✅ Book-level Analysis: Analyze complete comic books ✅ Page Grouping: Group pages by book for sequential tasks ✅ Metadata Management: Access book-level information ✅ Benchmark Alignment: Use predefined train/val/test splits
Version 0.1 (Primordial)
This is a primordial v0.1 with:
- ✅ Basic structure
- ✅ Page references
- ⏳ Empty
book_metadatafields (to be populated in v2) - ⏳ Empty
segments(to be added in v2) - ⏳ Empty
characters(to be added in v2)
Future (v2+) will include:
- Bibliographic information (series, issue, publisher)
- Story segments with summaries
- Character banks with appearances
Companion Dataset
comix-v0_1-pages: Individual pages with images
Example: Group Pages by Book
# Load both datasets
pages = load_dataset("emanuelevivoli/comix-v0_1-pages", split="train")
books = load_dataset("emanuelevivoli/comix-v0_1-books", split="train")
# Create page index
page_index = {p["json"]["page_id"]: p for p in pages}
# Get a book and its pages
book = books[0]
book_data = json.loads(book["json"])
book_pages = []
for page_ref in book_data['pages']:
page_id = page_ref['page_id']
if page_id in page_index:
book_pages.append(page_index[page_id])
print(f"Book {book_data['book_id']}: {len(book_pages)} pages loaded")Processing Pipeline
Books are created from the pages dataset by:
- Grouping pages by book_id
- Creating page references with tar file locations
- Adding placeholder metadata fields
- Organizing by splits
Citation
@dataset{comix_v0_1_books_2025,
title={Comic Books Dataset v0.1 - Books},
author={Emanuele Vivoli},
year={2025},
publisher={Hugging Face},
note={Production dataset - DCM-22K source},
url={https://huggingface.co/datasets/emanuelevivoli/comix-v0_1-books}
}License
Public Domain (CC0-1.0) - Digital Comic Museum
Updates
- v0.1 (2025-11-19): Initial release
- 83 books from DCM-22K
- Group-based processing (15 groups)
- Split-organized tar files
- Primordial version with placeholder fields
