Skip to main content

Zero-config automated EDA: pass any folder, get charts, stats, and a full HTML report.

Project description

⬡ EDA Wizard — Zero-Config Automated EDA

Pass any folder. Get a full EDA report. No setup.

import edawizard
edawizard.eda("any/folder")

What it does

EDA Wizard recursively scans a folder, detects every supported file type, runs comprehensive exploratory data analysis on each one, and generates a self-contained report.html plus organized CSVs — all in one call.

Supported file types

Category Formats
Tabular CSV, TSV, Excel (.xlsx/.xls), JSON, Parquet, Feather, Pickle
Video MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GP, TS …
Audio MP3, WAV, FLAC, AAC, OGG, M4A, WMA, OPUS, AIFF …
Image PNG, JPG, JPEG, WebP, TIFF, BMP, GIF

Installation

Core (tabular data only — zero extra deps):

pip install eda-wizard

With full media support (video + audio + image):

pip install "eda-wizard[full]"

Pick what you need:

pip install "eda-wizard[video]"   # adds opencv-python-headless
pip install "eda-wizard[audio]"   # adds mutagen
pip install "eda-wizard[image]"   # adds Pillow

Video fallback: If opencv-python-headless is not installed, EDA Wizard automatically tries ffprobe (part of FFmpeg) if available on your PATH.


Usage

import edawizard

# Scan a folder — all supported files analysed automatically
edawizard.eda("path/to/any/folder")

# Custom output folder name
edawizard.eda("my_data", output_name="eda_results")

# Disable row sampling (analyse all rows, slower on huge files)
edawizard.eda("my_data", max_rows=0)

# Silent mode
edawizard.eda("my_data", verbose=False)

Output structure

PyEDA_Output/
├── report.html               ← self-contained interactive report (open in browser)
├── summary.csv               ← overview of all files
│
├── sales/                    ← one folder per tabular file
│   ├── summary_stats.csv
│   ├── missing_values.csv
│   ├── correlation_matrix.csv
│   └── value_counts/
│       ├── region.csv
│       └── category.csv
│
├── media_video/
│   └── metadata.csv          ← FPS, resolution, duration, codec, bitrate per file
│
├── media_audio/
│   └── metadata.csv          ← sample rate, channels, bitrate, duration per file
│
└── media_image/
    └── metadata.csv          ← width, height, megapixels, mode, DPI per file

What's in the report

Tabular datasets

  • Shape, memory usage, dtype breakdown
  • Missing value counts + heatmap (per column)
  • Duplicate row detection
  • Descriptive statistics (mean, std, percentiles, skew, kurtosis)
  • Outlier detection (IQR method) with fences
  • Correlation matrix heatmap + top correlated pairs
  • Distribution histograms + KDE per numeric column
  • Box plots per numeric column
  • Top-value bar charts per categorical column
  • Zero / negative counts per numeric column

Video datasets

  • Duration distribution + total hours
  • FPS distribution (discrete bar or continuous histogram)
  • Resolution scatter plot (width × height bubble map)
  • Aspect ratio breakdown
  • Bitrate distribution
  • Codec distribution

Audio datasets

  • Duration distribution + total hours
  • Sample rate (Hz) distribution — discrete bar chart
  • Channel layout (Mono / Stereo / Surround) pie chart
  • Bitrate distribution
  • Codec distribution

Image datasets

  • Resolution scatter map
  • Megapixel distribution
  • Color mode breakdown (RGB, RGBA, Grayscale …)
  • Aspect ratio breakdown
  • File size distribution

How media extraction works

Video  →  opencv-python-headless  →  ffprobe (subprocess)  →  file size only
Audio  →  mutagen                 →  ffprobe (subprocess)  →  file size only
Image  →  Pillow                  →  file size only

EDA Wizard degrades gracefully: if a library isn't installed it tries the next option and prints a tip at startup.


Requirements

Package Purpose Optional?
pandas Data loading & stats No
numpy Numerics No
matplotlib Chart rendering No
seaborn Chart styling No
openpyxl Excel .xlsx No
pyarrow Parquet / Feather No
opencv-python-headless Video metadata Yes (pip install "eda-wizard[video]")
mutagen Audio metadata Yes (pip install "eda-wizard[audio]")
Pillow Image metadata Yes (pip install "eda-wizard[image]")

Contributing

git clone https://github.com/SMFRafin/eda-wizard
cd eda-wizard
pip install -e ".[dev]"
pytest

PRs welcome! Especially for:

  • Additional file type support
  • LLM-generated insight summaries
  • More chart types
  • Performance improvements for very large datasets

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eda_wizard-0.1.0.tar.gz (36.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eda_wizard-0.1.0-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

Details for the file eda_wizard-0.1.0.tar.gz.

File metadata

  • Download URL: eda_wizard-0.1.0.tar.gz
  • Upload date:
  • Size: 36.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for eda_wizard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8be3f68087d59acb658503bdf0465068a2fa2ceff8ac8cc1f1a409fccea186e3
MD5 23a5b2269cbcbd91170e66f77384917a
BLAKE2b-256 57c941bdb3b6783f1d3f7af28bd94a329075415b2c4983f5c7856d0d125685f5

See more details on using hashes here.

File details

Details for the file eda_wizard-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eda_wizard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for eda_wizard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9482cff05a9b38b4aeca53e52bdb41ad6161738f4dc3a57aa5757f47073bea1e
MD5 20edf1a5349d0b69f57bcc8e3766f3d0
BLAKE2b-256 83da86b63006146058584b82f0f6a08533df15ec2e71daa85bc55bb1045be163

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page