Skip to content
Anish Raj edited this page May 23, 2026 · 1 revision

Arnio Wiki

Welcome to the Arnio project wiki.

Arnio is a C++ accelerated data preparation toolkit for the Python data stack. It helps teams load messy CSV data, clean and validate it, profile quality issues, and hand the results back to pandas, NumPy, scikit-learn, DuckDB, Arrow, and related tools.

Project Snapshot

Area Details
Package arnio
Current version 1.18.0
Python support Python 3.9 through 3.14
Core runtime Python API with C++ / pybind11 backend
Main use cases CSV parsing, cleaning, profiling, schema validation, pandas handoff
License MIT

Start Here

What Arnio Does Well

  • Reads CSV, TSV, TXT, and JSONL data into ArFrame.
  • Infers schemas without loading full datasets through scan_csv.
  • Cleans data with composable steps such as strip_whitespace, normalize_case, fill_nulls, drop_nulls, and drop_duplicates.
  • Profiles datasets with DataQualityReport.
  • Validates data contracts with Schema, Field, and semantic validators.
  • Converts to and from pandas for downstream analysis.
  • Provides optional integrations for Arrow, DuckDB, parquet, and scikit-learn workflows.

Recommended Learning Path

  1. Install Arnio and load a CSV file.
  2. Preview the frame and inspect inferred column types.
  3. Run a small cleaning pipeline.
  4. Generate a quality profile.
  5. Validate the cleaned data against a schema.
  6. Convert to pandas for modeling or reporting.
import arnio as ar

frame = ar.read_csv("messy_sales.csv", mode="permissive")

clean = ar.pipeline(frame, [
    ("strip_whitespace",),
    ("normalize_case", {"case_type": "lower"}),
    ("fill_nulls", {"value": 0.0, "subset": ["revenue"]}),
    ("drop_duplicates",),
])

report = ar.profile(clean)
df = ar.to_pandas(clean)

Links

Clone this wiki locally