Skip to main content

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)

  1. Data Loading — CSV/Excel with auto type inference
  2. Schema Detection — Classifies columns (numerical, categorical, datetime, boolean, identifier)
  3. Quality Audit — Detects missing values, duplicates, outliers
  4. Data Cleaning — Auto-fixes common issues
  5. Exploratory Analysis — Summary statistics and distributions
  6. Visualizations — Histograms, bar charts, heatmaps
  7. Feature Engineering — Ratios, interactions, transforms
  8. Statistical Tests — Pearson/Spearman, T-tests, ANOVA, Chi-Square
  9. Insights — Natural language findings
  10. Dashboard — Interactive HTML dashboard
  11. 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 file
  • dashboard (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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lazyanalyst-1.2.0.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

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

lazyanalyst-1.2.0-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

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

Hashes for lazyanalyst-1.2.0.tar.gz
Algorithm Hash digest
SHA256 bfbfa4f463ec156f0655f3805456faf3def426879bb2e7b20e5dda89496f4e1f
MD5 669db0dd5a90e79b14681f6473f9cb32
BLAKE2b-256 ed433cfc66404af986b5832b938730d61139e0263f3d1343839a7200cfa39664

See more details on using hashes here.

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

Hashes for lazyanalyst-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7c9dd5f7de5c4dcefef429c23861ddbd54b00675b823effb9e41598d7aa754b
MD5 7f6c55edcb7f060eca0592a4425b1faa
BLAKE2b-256 203230c1bcf972642368f080e2c9a2646619a4d6f13686e2d03bce0cbe965533

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