Skip to main content

A lightweight, practical utility library for data scientists and ML engineers

Project description

Datawhisk

PyPI version Python Support License: MIT Coverage

A lightweight, practical utility library for data scientists and ML engineers.

datawhisk provides a curated collection of analytical helpers designed to streamline common data science workflows. Built with speed, simplicity, and reliability in mind.

Why datawhisk?

  • 🚀 Fast: Optimized implementations faster than manual approaches
  • 🎯 Practical: Solves real problems data scientists face daily
  • 🪶 Lightweight: Minimal dependencies, quick to install
  • 📊 Reliable: 90%+ test coverage, production-ready
  • 🧩 Intuitive: Clean APIs that "just work"

Installation

pip install datawhisk

With visualization support:

pip install datawhisk[viz]

Quick Start

Memory Optimizer

Automatically optimize DataFrame memory usage:

from datawhisk.analytical import optimize_memory

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({
    'id': range(1000000),
    'category': ['A', 'B', 'C'] * 333334,
    'value': [1.5] * 1000000
})

# Optimize memory
optimized_df, report = optimize_memory(df, return_report=True)

print(f"Memory reduced by {report['reduction_percent']:.1f}%")
# Output: Memory reduced by 65.2%

Correlation Analyzer

Smart correlation analysis with multicollinearity detection:

from datawhisk.analytical import analyze_correlations

# Analyze correlations
results = analyze_correlations(
    df,
    target='price',
    threshold=0.8,
    method='pearson'
)

print(results.recommendations)
# Output: ['Remove feature_X (VIF=12.3)', 'Keep feature_Y (VIF=2.1)']

Quick EDA Reporter

Fast exploratory data analysis:

from datawhisk.analytical import quick_eda

# Generate EDA report (Standard)
report = quick_eda(df, visualize=True)

# Generate Custom Report (Modular)
# checks only missing values and structure
report_custom = quick_eda(
    df,
    check_missing=True,
    check_structure=True,
    check_outliers=False,
    check_distribution=False
)

print(report.summary)
# Dataset Shape: (1000, 5)
# Missing Values: 23 (2.3%)
# Outliers Detected: 156 total
# High cardinality columns: ['user_id', 'transaction_id']

Features

Analytical Helpers

  • Memory Optimizer: Automatically downcast dtypes and optimize memory usage
  • Correlation Analyzer: Calculate correlations with VIF and multicollinearity detection
  • Quick EDA Reporter: Fast statistical summaries with anomaly detection

Comparison with Alternatives

Feature datawhisk Pandas pandas-profiling
Memory Optimization ✅ Auto Manual
VIF Calculation ✅ Built-in Manual
Speed (EDA) ⚡ Fast N/A 🐌 Slow
Dependencies 🪶 3 core - 📦 20+
Learning Curve 📉 Low Medium Medium

Documentation

Requirements

  • Python 3.8+
  • numpy >= 1.20.0
  • pandas >= 1.3.0
  • scipy >= 1.7.0

Optional:

  • matplotlib >= 3.3.0 (for visualizations)
  • seaborn >= 0.11.0 (for enhanced visualizations)

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

# Clone the repository
git clone https://github.com/Ramku3639/datawhisk.git
cd datawhisk

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run code quality checks
black datawhisk tests
flake8 datawhisk tests
mypy datawhisk

Roadmap

v0.2.0 (Next Release)

  • Statistical utilities
  • Data validation helpers
  • Extended visualization options

v0.3.0

  • Time series utilities
  • Text processing helpers
  • Performance benchmarking tools

See CHANGELOG.md for release history.

License

MIT License - see LICENSE for details.

Citation

If you use datawhisk in your research, please cite:

@software{datawhisk,
  author = {RamMohan Reddy K},
  title = {datawhisk: A Practical Utility Library for Data Scientists},
  year = {2025},
  url = {https://github.com/Ramku3639/datawhisk}
}

Support


Built with ❤️ for the data science community

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

datawhisk-1.0.2.tar.gz (49.7 kB view details)

Uploaded Source

Built Distribution

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

datawhisk-1.0.2-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file datawhisk-1.0.2.tar.gz.

File metadata

  • Download URL: datawhisk-1.0.2.tar.gz
  • Upload date:
  • Size: 49.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for datawhisk-1.0.2.tar.gz
Algorithm Hash digest
SHA256 b5b636c34b1669525effebc2d039de581527f71e46bff5e86ca77a7758f99301
MD5 bcf98f959f05b53d06a932f054d5ba34
BLAKE2b-256 9fa6b3f805ba823f08ae0bdb0178d4d829d1abe7ae6497e3f3dd7a7c373834ac

See more details on using hashes here.

File details

Details for the file datawhisk-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: datawhisk-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for datawhisk-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2151b731ececed6bd954e7f79125ffc81a20ee9219f85eb194ad2d1529fb3213
MD5 1b3b40c3cb713a20d2271a5b7be3167e
BLAKE2b-256 1bfee2d837a946ccceea8f51c26828d3cfdacdc99847779fd364754cc33a1254

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