Profile a big CSV in a browser tab.
Drop a file below and PySuricata generates a full exploratory-data-analysis report — per-column distributions, missing-value analysis, quality alerts. There is no server. The profiler itself is compiled to WebAssembly and runs inside this page, so your data never leaves your machine.
pip install pysuricata
Drop a CSV or Parquet file
Nothing is uploaded. Files stay in this tab and disappear when you close it.
How this works
Pyodide compiles CPython, pandas and numpy to WebAssembly. Your file is mounted straight from disk into the sandbox filesystem, so pandas reads it lazily and hands PySuricata a chunk generator.
Why it stays small
Statistics come from streaming sketches — Welford/Pébay for moments, KMV for distinct counts, Misra–Gries for top values, reservoir sampling for quantiles. Memory tracks column count, not row count.
Where it is approximate
Moments, extrema and missing counts are exact. Quantiles, high-cardinality
distinct counts and duplicate rows are estimated; the report marks those with
an approx chip.
Limits of the demo
A browser tab has a hard memory ceiling and one core. Very wide frames are refused here — memory scales with columns. For those, run it locally.
PySuricata