InsightfulPy
Python toolkit for exploratory data analysis with visualization and statistical functions.
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:
- User Guide - Installation, usage, and examples
- Configuration - Settings and constants reference
- Troubleshooting - Problem-solving guide
- Gallery - Visualization examples
Developer Documentation:
- API Reference - Function documentation
- Developer Guide - Development workflow and architecture
- Diagrams - Architecture diagrams
Complete Index:
- Documentation Index - Complete documentation overview
- Examples - Jupyter notebook examples
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
- Homepage: https://github.com/dhaneshbb/insightfulpy
- PyPI: https://pypi.org/project/insightfulpy/
- Issues: https://github.com/dhaneshbb/insightfulpy/issues
- Changelog: CHANGELOG.md
- Documentation: docs/
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)
| File | Size | Uploaded | |
|---|---|---|---|
| insightfulpy-0.2.0.tar.gz | 123.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|