Skip to main content

One-command EDA report generator (HTML with Plotly).

Project description

turboeda

turboeda is a one-command Exploratory Data Analysis (EDA) report generator.
Give it a CSV or XLSX file — it automatically analyzes the data and creates a polished, interactive HTML report with Plotly charts.


📦 Installation

From PyPI (when available)

pip install turboeda

From local source (development mode)

# in the project root folder (where pyproject.toml is)
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
# source .venv/bin/activate

pip install -e .

CSV files are read with pandas' default engine. Excel is handled by openpyxl.
CSV encoding is auto-detected via chardet (installed as a dependency).


🚀 Usage (CLI)

turboeda report "data.csv" -o "report.html" --open
# Excel (auto-uses the FIRST sheet if --sheet is omitted):
turboeda report "data.xlsx" --sheet "Sheet1" -o "report.html" --open

Default naming rule:
If -o/--out is not provided, the HTML is saved as <input_basename>_report.html in the same folder as the input file. Examples:

  • C:\data\Iris.csvC:\data\Iris_report.html
  • /Users/me/data/sales.xlsx/Users/me/data/sales_report.html

Common options:

  • --sheet "Sheet1": select Excel sheet if using .xlsx (if omitted, first sheet is used)
  • --sep ";" : custom CSV delimiter
  • --sample-rows 100000 : sample large files for faster analysis (default: 200000)
  • --max-corr-cols 40 : cap number of columns in correlation matrices
  • --max-numeric-plots 12 / --max-categorical-plots 12 : limit per-variable charts
  • --theme dark|light : choose dark or light theme (default: dark)
  • --open : open the generated HTML in your default browser

📓 Usage in Jupyter Notebook / Python scripts

from turboeda import EDAReport
from pathlib import Path

# Create and run analysis
report = EDAReport(
    input_path="data.csv",
    theme="dark",           # or "light"
    sample_rows=None,       # use all rows; or set an int to sample large datasets
    max_corr_cols=40,
    max_numeric_plots=12,
    max_categorical_plots=12,
    # Optional UX:
    auto_save_and_open=False,  # if True, saves & opens after run()
    out_path=None,             # custom output name; otherwise uses <input>_report.html
    open_target="tab",         # "tab" or "window" for auto-open
)

results = report.run()

# Export to HTML (default name rule: <input_basename>_report.html)
inp = Path("data.csv")
out = inp.with_name(f"{inp.stem}_report.html")
report.to_html(out.as_posix(), open_in_browser=True)  # set open_in_browser=False if you don't want auto-open

Inline preview in notebook:

from IPython.display import IFrame
IFrame("data_report.html", width="100%", height=800)

🎨 Theme

The report supports dark and light themes.
Charts adopt the chosen theme as well (Plotly plotly_dark vs plotly).

  • Dark (default):
    turboeda report "data.csv" --theme dark
    
  • Light:
    turboeda report "data.csv" --theme light
    

🧠 Notes & Tips

  • CSV encoding is auto-detected with chardet; Excel uses the selected sheet (or first if omitted).
  • For very large files, consider --sample-rows to speed up initial EDA.
  • Datetime detection is heuristic-based and avoids deprecated parsing flags; specify formats upstream if needed.
  • On Windows PowerShell, if script activation is blocked, run:
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
    

⚡ Requirements

  • Python 3.9+
  • Packages: pandas, numpy, plotly, jinja2, typer, chardet, openpyxl
    (installed automatically when you pip install -e .)

📄 License

MIT License — see LICENSE.

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

turboeda-0.2.1.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

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

turboeda-0.2.1-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file turboeda-0.2.1.tar.gz.

File metadata

  • Download URL: turboeda-0.2.1.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for turboeda-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e6462590d68469119049b4e89dae77b9942f9a9ae66847a75c142a0b0adb1a4e
MD5 9b5fb9ad00013f2b235adba041046e0b
BLAKE2b-256 c2d8aff6e9c37db50338a4be9cb9b648f98657271f2251bce3292b3fbfef5b02

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboeda-0.2.1.tar.gz:

Publisher: publish.yml on rozsit/turboeda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboeda-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: turboeda-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for turboeda-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ca901fa716c9550d0b1ac851f0ed461f07af8e619d42bfee54ae4b044d2b3b20
MD5 3862b378d9af2c938383cf85cf522fd0
BLAKE2b-256 290fe8071748ef92fdf62e2127bb46467eebfcb185cf83be4fab6527462a7640

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboeda-0.2.1-py3-none-any.whl:

Publisher: publish.yml on rozsit/turboeda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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