Datagrunt simplifies reading, writing, and converting CSV, Excel, Parquet, and PDF files. By uniting best-in-class engines—Polars for Rust-speed, DuckDB for local SQL, and PyArrow for columnar memory—Datagrunt abstracts away boilerplate, formatting limits, and delimiter headaches.
from datagrunt import CSVReader, PDFReader
# 1. Zero-boilerplate CSV loading: auto-sniffs delimiter (comma, tab, semicolon)
# and processes with Polars (default) or DuckDB/PyArrow.
df = CSVReader("huge_data.csv").to_dataframe()
# 2. Unified PDF parsing: extracts structured tables, text, and images
# using PDFium or PyMuPDF, with optional Tesseract OCR.
document = PDFReader("invoice.pdf").to_dicts()Datagrunt wraps high-performance execution engines in a consistent, developer-first interface.
No more hardcoding `sep=','` or guessing delimiters. Datagrunt automatically sniffs and applies commas, semicolons, tabs, and pipes using advanced heuristics.
Swap execution engines on the fly. Route queries to Polars for memory-efficient speed, DuckDB for local SQL analytics, or PyArrow for columnar serialization.
Extract text, tabular boundaries, and embedded images from PDFs in a single line. Utilizes PDFium and optional PyMuPDF with Tesseract OCR support.
Easily convert files between formats (CSV, Excel, Parquet, JSON, JSONL) with compression passthrough and worksheet sheet-by-sheet support.
Datagrunt integrates industry-standard libraries to deliver maximum throughput.
Rust DataFrame Core
In-process Analytical SQL
Columnar Serialization