# palliplease/edaxe architecture

> Architecture diagram of the GitHub repository palliplease/edaxe, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/palliplease/edaxe
- Repository: https://github.com/palliplease/edaxe

## Overview

EDAxe is a Python library for exploratory data analysis and dataframe preprocessing. The main workflow is a user-supplied dataframe passed to `generate_summary`, which computes dataset and column metrics, optionally displays visualizations, returns summary data, and can save the column table as CSV. Preprocessing operations are separate user-invoked tools; the sampled source does not show them wired into the summary workflow. The README describes the capabilities, while preprocessing excerpts are partial, so uncertain internal links are omitted.

Main entry points: [`EDAxe/summary.py`](https://github.com/palliplease/edaxe/blob/main/EDAxe/summary.py) (Generate summary), [`EDAxe/preprocessing.py`](https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py) (Filter rows)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_analysis["Data analysis"]
  node_summary_fn["Generate summary<br/>[summary.py]"]
end

subgraph group_preprocessing["Data preprocessing"]
  node_filter_rows["Filter rows<br/>[preprocessing.py]"]
  node_filter_columns["Filter columns<br/>[preprocessing.py]"]
  node_impute["Impute missing values<br/>[preprocessing.py]"]
  node_encode["Encode categories<br/>[preprocessing.py]"]
  node_scale["Scale features<br/>[preprocessing.py]"]
end

subgraph group_outputs["Results and display"]
  node_summary_result["Summary data"]
  node_visuals["EDA visualizations<br/>[summary.py]"]
  node_csv["CSV summary"]
end

node_user(("Data analyst"))
node_data[("Input dataframe")]
node_plotly["Plotly"]
node_seaborn["Seaborn and Matplotlib"]

node_user -->|"provides"| node_data
node_user -->|"invokes"| node_summary_fn
node_data -->|"analyzes"| node_summary_fn
node_summary_fn -->|"returns"| node_summary_result
node_summary_fn -->|"displays"| node_visuals
node_summary_fn -->|"writes when requested"| node_csv
node_summary_fn -->|"renders pie chart"| node_plotly
node_summary_fn -->|"plots metrics"| node_seaborn
node_user -->|"invokes"| node_filter_rows
node_user -->|"invokes"| node_filter_columns
node_user -->|"invokes"| node_impute
node_user -->|"invokes"| node_encode
node_user -->|"invokes"| node_scale
node_data -->|"filters"| node_filter_rows
node_data -->|"filters"| node_filter_columns
node_data -->|"fills missing values"| node_impute
node_data -->|"encodes"| node_encode
node_data -->|"scales"| node_scale

click node_summary_fn "https://github.com/palliplease/edaxe/blob/main/EDAxe/summary.py"
click node_visuals "https://github.com/palliplease/edaxe/blob/main/EDAxe/summary.py"
click node_filter_rows "https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py"
click node_filter_columns "https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py"
click node_impute "https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py"
click node_encode "https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py"
click node_scale "https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_summary_fn toneBlue
class node_filter_rows,node_filter_columns,node_impute,node_encode,node_scale,node_data toneAmber
class node_summary_result,node_visuals,node_csv toneMint
class node_user,node_plotly,node_seaborn toneIndigo
```

## Components

### Data analysis

- [Generate summary](https://github.com/palliplease/edaxe/blob/main/EDAxe/summary.py): `EDAxe/summary.py`

### Data preprocessing

- [Filter rows](https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py): `EDAxe/preprocessing.py`
- [Filter columns](https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py): `EDAxe/preprocessing.py`
- [Impute missing values](https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py): `EDAxe/preprocessing.py`
- [Encode categories](https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py): `EDAxe/preprocessing.py`
- [Scale features](https://github.com/palliplease/edaxe/blob/main/EDAxe/preprocessing.py): `EDAxe/preprocessing.py`

### Results and display

- **Summary data**
- [EDA visualizations](https://github.com/palliplease/edaxe/blob/main/EDAxe/summary.py): `EDAxe/summary.py`
- **CSV summary**

### Other components

- **Data analyst**
- **Input dataframe**
- **Plotly**
- **Seaborn and Matplotlib**

## Connections

- Data analyst → Input dataframe: provides
- Data analyst → Generate summary: invokes
- Input dataframe → Generate summary: analyzes
- Generate summary → Summary data: returns
- Generate summary → EDA visualizations: displays
- Generate summary → CSV summary: writes when requested
- Generate summary → Plotly: renders pie chart
- Generate summary → Seaborn and Matplotlib: plots metrics
- Data analyst → Filter rows: invokes
- Data analyst → Filter columns: invokes
- Data analyst → Impute missing values: invokes
- Data analyst → Encode categories: invokes
- Data analyst → Scale features: invokes
- Input dataframe → Filter rows: filters
- Input dataframe → Filter columns: filters
- Input dataframe → Impute missing values: fills missing values
- Input dataframe → Encode categories: encodes
- Input dataframe → Scale features: scales
