7
stars
2
commits
1
linked in READMEs
Jul 23, 2025
updated
Ready-to-run scripts for creating Hugging Face datasets from local files.
Convert directories of PDF files into Hugging Face datasets.
Features:
Usage:
# Basic usage
uv run pdf-to-dataset.py /path/to/pdfs username/my-dataset
# Create private dataset
uv run pdf-to-dataset.py /path/to/pdfs username/my-dataset --private
# Organized by categories (folder structure creates labels)
# /pdfs/invoice/doc1.pdf β label: "invoice"
# /pdfs/receipt/doc2.pdf β label: "receipt"
uv run pdf-to-dataset.py /path/to/organized-pdfs username/categorized-docs
Output Format:
The script creates a dataset where each example contains a pdf object that can be processed using the datasets library. Users can then extract text, convert to images, or perform other operations as needed.
from datasets import load_dataset
# Load your uploaded dataset
dataset = load_dataset("username/my-dataset")
# Access PDF objects
pdf = dataset["train"][0]["pdf"]
Requirements:
No installation needed! Just run with uv:
# Run directly from GitHub
uv run https://huggingface.co/datasets/uv-scripts/dataset-creation/resolve/main/pdf-to-dataset.py --help
# Or clone and run locally
git clone https://huggingface.co/datasets/uv-scripts/dataset-creation
cd dataset-creation
uv run pdf-to-dataset.py /path/to/pdfs my-dataset
Scripts use Hugging Face authentication:
--hf-token argumentHF_TOKEN environment variablehuggingface-cli loginuv run pdf-to-dataset.py ~/Documents/papers username/research-papers
# Directory structure:
# documents/
# βββ invoices/
# β βββ invoice1.pdf
# β βββ invoice2.pdf
# βββ receipts/
# βββ receipt1.pdf
# βββ receipt2.pdf
uv run pdf-to-dataset.py documents/ username/financial-docs
# Creates dataset with labels: "invoices" and "receipts"
--private flag for sensitive documentsMIT
2 commits
7
stars
2
commits
1
linked in READMEs
Jul 23, 2025
updated
Ready-to-run scripts for creating Hugging Face datasets from local files.
Convert directories of PDF files into Hugging Face datasets.
Features:
Usage:
# Basic usage
uv run pdf-to-dataset.py /path/to/pdfs username/my-dataset
# Create private dataset
uv run pdf-to-dataset.py /path/to/pdfs username/my-dataset --private
# Organized by categories (folder structure creates labels)
# /pdfs/invoice/doc1.pdf β label: "invoice"
# /pdfs/receipt/doc2.pdf β label: "receipt"
uv run pdf-to-dataset.py /path/to/organized-pdfs username/categorized-docs
Output Format:
The script creates a dataset where each example contains a pdf object that can be processed using the datasets library. Users can then extract text, convert to images, or perform other operations as needed.
from datasets import load_dataset
# Load your uploaded dataset
dataset = load_dataset("username/my-dataset")
# Access PDF objects
pdf = dataset["train"][0]["pdf"]
Requirements:
No installation needed! Just run with uv:
# Run directly from GitHub
uv run https://huggingface.co/datasets/uv-scripts/dataset-creation/resolve/main/pdf-to-dataset.py --help
# Or clone and run locally
git clone https://huggingface.co/datasets/uv-scripts/dataset-creation
cd dataset-creation
uv run pdf-to-dataset.py /path/to/pdfs my-dataset
Scripts use Hugging Face authentication:
--hf-token argumentHF_TOKEN environment variablehuggingface-cli loginuv run pdf-to-dataset.py ~/Documents/papers username/research-papers
# Directory structure:
# documents/
# βββ invoices/
# β βββ invoice1.pdf
# β βββ invoice2.pdf
# βββ receipts/
# βββ receipt1.pdf
# βββ receipt2.pdf
uv run pdf-to-dataset.py documents/ username/financial-docs
# Creates dataset with labels: "invoices" and "receipts"
--private flag for sensitive documentsMIT
2 commits