Zero Effort Data Discovery & Analytics
C++17-powered EDA and data cleaning engine for Python.
Guide · API reference · How it works · Contributing · Security
Zedda profiles, cleans, and validates datasets from a single Python call. Its core is written in C++17 and streams data in constant memory, so it scales from a 900-row CSV to a terabyte-scale Parquet file without changing how you use it.
pip install --upgrade pip # Ensure pip >= 22.3 for abi3 wheel recognition
pip install zedda # CSV only — zero native deps
pip install "zedda[parquet]" # adds Parquet/Arrow/Feather support
pip install "zedda[clean]" # adds fuzzy typo detection
pip install "zedda[ai]" # adds AI Q&A (zd.ask with Groq/OpenAI)
pip install "zedda[parquet,clean,ai]" # everything togetherPlatform support:
| Platform | Base install | [parquet] extra |
|---|---|---|
| Linux x86_64 (glibc >= 2.17 / musl) | ✅ prebuilt wheel | ✅ prebuilt pyarrow wheel |
| Linux ARM64 (aarch64) | ✅ prebuilt wheel | ✅ prebuilt pyarrow wheel |
| macOS Intel (x86_64) | ✅ prebuilt wheel | ✅ prebuilt pyarrow wheel |
| macOS Apple Silicon (ARM64) | ✅ prebuilt wheel | ✅ prebuilt pyarrow wheel |
| Windows x86_64 | ✅ prebuilt wheel | ✅ prebuilt pyarrow wheel |
| Windows ARM64 | ✅ prebuilt wheel | |
| Python 3.13 free-threaded (cp313t) |
conda users: Zedda is not yet on conda-forge. Install via pip inside your conda environment:
conda activate myenv pip install zedda
import zedda as zd
zd.profile("data.csv") # full EDA report in terminal
zd.scan("data.csv") # silent scan for CI/CD pipelines
zd.compare("train.csv", "test.csv") # train/test drift detection
zd.fix("data.csv", apply=True) # generate or apply pandas fix code
zd.ask("data.csv", "any nulls here?") # plain-English dataset Q&A
zd.ml_ready("data.csv") # readiness score for ML training
zd.warnings("data.csv") # list all issues ranked by severity
zd.clean("data.csv", output="clean.csv") # safe, backed-up auto-clean
zd.merge(["jan.csv", "feb.csv"], "out") # safely combine multiple files
zd.report("data.csv", output="rep.html") # export full report to offline HTMLEvery function also accepts a pandas DataFrame directly — a file path is
never required.
import pandas as pd
df = pd.read_csv("data.csv")
zd.profile(df)See the full list of available functions in the API reference, and how the underlying engine works in How it works.
git clone https://github.com/Zedda-Labs/Zedda.git --recursive
cd Zedda
# C++17 build tools (cmake, ninja) are required
pip install cmake ninja
pip install -e ".[dev]"
pytest tests/Issues and pull requests are welcome. See CONTRIBUTING.md.
MIT — see LICENSE.