Skip to main content

InsightfulPy

Python toolkit for exploratory data analysis with visualization and statistical functions.

PyPI version Python Version Version License Status

Overview

InsightfulPy simplifies exploratory data analysis through statistical summaries, data quality checks, and visualizations. Built with a modular architecture and constants-driven design, it works seamlessly in Jupyter notebooks, IPython, and terminal environments.

Key Features:

  • Statistical summaries for numerical and categorical data
  • Data quality checks (missing values, outliers, mixed types)
  • Batch visualization functions for large datasets
  • Individual column analysis with plots
  • Multi-dataset comparison tools
  • Environment detection (Jupyter and terminal)
  • Type hints and test coverage

Installation

PyPI

pip install insightfulpy

Source

git clone https://github.com/dhaneshbb/insightfulpy.git
cd insightfulpy
pip install .

Requirements: Python 3.8 or higher

Quick Start

import pandas as pd
import insightfulpy as ipy

# Load data
df = pd.read_csv('data.csv')

# Get help
ipy.help()         # Function overview
ipy.quick_start()  # Step-by-step guide

# Basic analysis
ipy.columns_info('Dataset', df)  # Structure
ipy.num_summary(df)               # Numerical stats
ipy.cat_summary(df)               # Categorical stats

# Data quality
ipy.missing_inf_values(df)  # Missing values
ipy.detect_outliers(df)     # Outliers

# Visualizations
ipy.show_missing(df)             # Missing patterns
ipy.kde_batches(df, batch_num=1) # Distributions

For complete workflow examples, see User Guide and Examples.

Visualization Gallery

View example visualizations in the Gallery Documentation

Function Categories

# Helper Functions
# Quick utilities for navigation, exploration, and guidance
help(), list_all(), quick_start(), examples()

# Basic Analysis
# Core analytical operations on categorical & numerical data
analyze_data(), cat_summary(), num_summary(), columns_info(),
grouped_summary(), detect_outliers(), missing_inf_values()

# Visualization
# Visual insights with distribution & categorical plots
show_missing(), plot_boxplots(), kde_batches(),
box_plot_batches(), qq_plot_batches(),
cat_bar_batches(), cat_pie_chart_batches()

# Advanced Visualization
# Multi-variable and relational data visualization tools
num_vs_num_scatterplot_pair_batch(),
cat_vs_cat_pair_batch(),
num_vs_cat_box_violin_pair_batch()

# Statistical Functions
# Deeper statistical calculations and data profiling metrics
calc_stats(), calculate_skewness_kurtosis(),
iqr_trimmed_mean(), mad()

# Individual Analysis
# Focused analysis and plotting for specific column types
num_analysis_and_plot(), cat_analyze_and_plot()

# Dataset Comparison
# Compare datasets, detect key overlaps, and highlight deltas
compare_df_columns(), display_key_columns(),
interconnected_outliers(), linked_key(),
comp_cat_analysis(), comp_num_analysis()

See API Reference for detailed documentation.

Documentation

User Documentation:

Developer Documentation:

Complete Index:

Contributing

Contributions are welcome. See CONTRIBUTING.md for complete guidelines including development setup, testing requirements, code quality standards, and pull request process.

For development workflow, see Developer Guide. For dependencies, see pyproject.toml.

License

MIT License - see LICENSE file.

Third-party components are listed in NOTICE and THIRD_PARTY_LICENSES.txt.

Links


Version: 0.2.0 | Status: Beta | Python: 3.8-3.12

Copyright 2025 dhaneshbb | License: MIT | Homepage: https://github.com/dhaneshbb/insightfulpy

Metadata

Release files for insightfulpy 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for insightfulpy 0.2.0
File Size Uploaded
insightfulpy-0.2.0.tar.gz 123.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for insightfulpy 0.2.0
File Interpreter ABI Platform
insightfulpy-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 244.7 kB

Release files / insightfulpy-0.2.0.tar.gz

Download URL insightfulpy-0.2.0.tar.gz
Size 123.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d396645f6c17a8e87bfbc14d30ee7a66dbd506a32a9d05baedc5f9f84531abe6
BLAKE2b-256 checksum
How to use checksums
a8936e450f8889bd5f6dbd3de28af7225e9cb60d5a4f0daeb955f2745859665a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.7

Release files / insightfulpy-0.2.0-py3-none-any.whl

Download URL insightfulpy-0.2.0-py3-none-any.whl
Size 121.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
70c466f1825e7cc48abb4ce941c8ba8e5813efc68beb68092e4fd1b2918ed84f
BLAKE2b-256 checksum
How to use checksums
f9d293729d518bb0a43feb683510c3803105f6b88a12c75ea46c5d17b4c5e8cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

1 release file

0.1.2

1 release file

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page