Automated data analysis library with end-to-end analysis pipeline
Project description
LazyAnalyst
Automated data analysis for Python — one line of code, complete insights.
LazyAnalyst automates everything you'd manually do with Pandas and NumPy. Load a dataset, run one line of code, and get a complete analysis with insights, visualizations, statistical tests, and a professional HTML report.
Quick Start
import lazyanalyst as la
# Analyze any CSV or Excel file
result = la.analyze("sales_data.csv")
# Open the interactive dashboard
result.dashboard()
# Or view the professional report
result.report()
That's it! LazyAnalyst handles data loading, quality auditing, cleaning, exploratory analysis, statistical testing, feature engineering, visualizations, and report generation — automatically.
Installation
pip install lazyanalyst
Requirements: Python 3.8+
Install from source:
git clone https://github.com/Tenali-Rama/lazyanalyst.git
cd lazyanalyst
pip install -e .
What You Get
After running analyze(), LazyAnalyst creates an outputs/ folder with:
| File | Description |
|---|---|
dashboard.html |
Interactive Plotly dashboard |
report.html |
Professional HTML report |
cleaned_data.csv |
Your cleaned dataset |
insights.txt |
Plain-English insights |
plots/ |
Generated charts (PNG) |
Features
Automated Pipeline (11 Modules)
- Data Loading — CSV/Excel with auto type inference
- Schema Detection — Classifies columns (numerical, categorical, datetime, boolean, identifier)
- Quality Audit — Detects missing values, duplicates, outliers
- Data Cleaning — Auto-fixes common issues
- Exploratory Analysis — Summary statistics and distributions
- Visualizations — Histograms, bar charts, heatmaps
- Feature Engineering — Ratios, interactions, transforms
- Statistical Tests — Pearson/Spearman, T-tests, ANOVA, Chi-Square
- Insights — Natural language findings
- Dashboard — Interactive HTML dashboard
- Report — Professional HTML report
Key Capabilities
- Smart Column Detection — Automatically identifies data types
- Quality Scoring — Rates your data quality (0-100)
- Resilient Processing — Continues even if individual steps fail
- No Configuration — Works out of the box
- Browser-Based Results — No server needed
Example Usage
Basic Analysis
import lazyanalyst as la
result = la.analyze("data.csv")
result.dashboard() # Opens in browser
result.report() # Opens in browser
With Options
# Generate only the report (skip dashboard)
result = la.analyze("data.xlsx", dashboard=False)
# Access cleaned data
cleaned_df = result.cleaned_data()
print(cleaned_df.describe())
Batch Processing
import lazyanalyst as la
import os
for filename in os.listdir("data/"):
if filename.endswith(".csv"):
result = la.analyze(f"data/{filename}")
print(f"✓ Analyzed {filename}")
Supported Data
| Format | Extensions | Notes |
|---|---|---|
| CSV | .csv |
Auto-detects delimiter and encoding |
| Excel | .xlsx |
Reads first sheet |
Column Types Detected:
- Numerical — integers, floats
- Categorical — text or <20 unique values
- Datetime — date formats or date-related names
- Boolean — True/False, Yes/No, 0/1
- Identifier — IDs, codes, keys
API Reference
analyze(filepath, dashboard=True, report=True)
Runs the complete analysis pipeline.
Parameters:
filepath(str): Path to CSV or Excel filedashboard(bool): Generate dashboard (default: True)report(bool): Generate report (default: True)
Returns: LazyAnalystResult object
Result Object Methods
| Method | Description |
|---|---|
dashboard() |
Opens interactive dashboard in browser |
report() |
Opens HTML report in browser |
cleaned_data() |
Returns cleaned pandas DataFrame |
Troubleshooting
| Issue | Solution |
|---|---|
FileNotFoundError |
Check file path; use absolute path if needed |
ValueError: unsupported file type |
Ensure file is .csv or .xlsx |
| Dashboard won't open | Install plotly/dash; open dashboard.html directly |
| Slow analysis | Filter to relevant columns/rows before analysis |
Development
Run Tests
pip install pytest
pytest tests/ -v
Contribute
git clone https://github.com/Tenali-Rama/lazyanalyst.git
cd lazyanalyst
pip install -e .
pip install -r requirements-dev.txt
License
MIT License — See LICENSE file for details.
Transform your data analysis workflow with one line of code.
For detailed examples and advanced usage, see the Examples section below.
Examples
Sales Analysis
import lazyanalyst as la
result = la.analyze("sales.csv")
result.dashboard()
Finds: Top regions, revenue trends, product performance, correlations
Customer Analytics
result = la.analyze("customers.csv")
result.report()
Finds: Segment characteristics, churn factors, purchase patterns
Scientific Data
result = la.analyze("experiment_results.csv")
result.dashboard()
Finds: Measurement distributions, statistical significance, outliers
Financial Analysis
result = la.analyze("financial_data.csv")
result.report()
Finds: Revenue trends, profit margins, cost correlations, anomalies
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lazyanalyst-1.2.0.tar.gz.
File metadata
- Download URL: lazyanalyst-1.2.0.tar.gz
- Upload date:
- Size: 27.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfbfa4f463ec156f0655f3805456faf3def426879bb2e7b20e5dda89496f4e1f
|
|
| MD5 |
669db0dd5a90e79b14681f6473f9cb32
|
|
| BLAKE2b-256 |
ed433cfc66404af986b5832b938730d61139e0263f3d1343839a7200cfa39664
|
File details
Details for the file lazyanalyst-1.2.0-py3-none-any.whl.
File metadata
- Download URL: lazyanalyst-1.2.0-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7c9dd5f7de5c4dcefef429c23861ddbd54b00675b823effb9e41598d7aa754b
|
|
| MD5 |
7f6c55edcb7f060eca0592a4425b1faa
|
|
| BLAKE2b-256 |
203230c1bcf972642368f080e2c9a2646619a4d6f13686e2d03bce0cbe965533
|