Skip to main content

Exploratory data analysis and presentation tool

Project description

Data Oriented Report Automator (DORA)

DORA Logo

An interactive command-line tool to automate Exploratory Data Analysis (EDA) and generate beautiful, insightful reports in seconds.

Overview

Welcome to DORA! This isn't just a script; it's an intelligent EDA assistant. DORA empowers you to move from a raw dataset to a comprehensive HTML report with minimal effort. It is designed to be powerful and configurable for experts, yet simple enough for anyone to use thanks to its interactive wizard.

1. installation

Install DORA directly from PyPI using pip:

pip install dora-eda
# check version to validate installation
dora -v

2. Usage

DORA has two modes of operation: Interactive (for first-time runs) and Config-Driven (for reproducible automation). Run DORA without existing configuration (Fresh run)

A. Interactive Mode (Quick Start)

Simply run the command without arguments. DORA will launch a wizard to guide you through the setup.

dora

You will be prompted to:

  • Select your data file (CSV, Excel, JSON, Parquet).
  • Choose an output directory.
  • (Optional) Select a target variable for focused analysis.
  • Pick which analysis steps to perform.
  • (Optional) Save your settings to a config.yaml file for future use.

B. Config-Driven Mode (Advanced)

If you already have a configuration file (e.g., from a previous run), you can skip the wizard and run the analysis immediately.

dora --config <path/to/config.yaml>

Example config.yaml:

# --- Input/Output Settings ---
input_file: 'data/insurance.csv'
output_dir: 'output/insurance_report'
report_title: 'Exploratory Data Analysis of Insurance Premiums'

# --- Dataset Settings ---
target_variable: 'charges'

# --- Analysis Pipeline ---
analysis_pipeline:
  - profile:
      enabled: true
  - univariate:
      enabled: true
      plot_types:
        numerical: ['histogram', 'boxplot']
        categorical: ['barplot']
  - bivariate:
      enabled: true
      target_centric: true
  - multivariate:
      enabled: true
      correlation_cols: ['age', 'bmi', 'children', 'charges']

3. Supported Data Formats

DORA automatically detects and reads the following file types:

  • CSV (*.csv)
  • Excel (*.xlsx) - Note: Analyzes the first sheet only.
  • JSON (*.json)
  • Parquet (*.parquet)

4. Viewing the Output

After the analysis is complete, check your output directory for:

  • 📄 eda_report.html: The full, interactive report. Open this in any web browser.
  • 📈 charts/: A folder containing all generated plots as high-quality images.

Developer Guide

Interested in contributing to DORA? Awesome! Follow these steps to set up your local development environment.

1. Prerequisites

You need Poetry for dependency management.

# Windows (Powershell)
(Invoke-WebRequest -Uri [https://install.python-poetry.org](https://install.python-poetry.org) -UseBasicParsing).Content | py -

# Linux/macOS
curl -sSL [https://install.python-poetry.org](https://install.python-poetry.org) | python3 -

2. Setup

Clone the repository and install dependencies (including dev tools).

git clone https://github.com/Asifdotexe/DORA.git
cd dora
poetry install --with dev

3. Code Quality

We use standard tools to keep the codebase clean. Please run these before submitting a PR.

Automated Checks (Recommended): Install the pre-commit hooks once, and they will run automatically on every commit.

poetry run pre-commit install

Manual Checks:

# Format code
poetry run black .
poetry run isort .

# Lint code
poetry run pylint src/dora

Running Tests:

poetry run pytest

4. How to Contribute

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/amazing-feature).
  3. Commit your changes.
  4. Push to the branch.
  5. Open a Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Happy analyzing with DORA! 🎉

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

dora_eda-3.0.1.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

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

dora_eda-3.0.1-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file dora_eda-3.0.1.tar.gz.

File metadata

  • Download URL: dora_eda-3.0.1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.9 Linux/6.11.0-1018-azure

File hashes

Hashes for dora_eda-3.0.1.tar.gz
Algorithm Hash digest
SHA256 182fcf0511eb53b203ce97e0a0023b638677407d361fd87e7aa53dceff70497e
MD5 3414944b645a09b4f7bcda6268a71a6f
BLAKE2b-256 d413a119ee22b6674cb693359c289e2d14b8e878aa78c8047fac04ceb17bd191

See more details on using hashes here.

File details

Details for the file dora_eda-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: dora_eda-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.9 Linux/6.11.0-1018-azure

File hashes

Hashes for dora_eda-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d0e4d8616be4ba4ba8dcfa2bb19308cb80f06ca54d0ee6ae6373f478320637a
MD5 e4e8ad69d7fc1ac570e734858922c370
BLAKE2b-256 29103ab9839604202f4ad07703341034db51933e9a03e8c59414e24d8a865775

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