Skip to main content

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

Project description

Datawhisk

PyPI version Python Support License: MIT Tests 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.0.tar.gz (40.9 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.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datawhisk-1.0.0.tar.gz
  • Upload date:
  • Size: 40.9 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.0.tar.gz
Algorithm Hash digest
SHA256 b2dfecb0b4e05bef57165138fa044a90d0ee461d767f225153ac5492fcd23829
MD5 2736a1efa07d1e5c30ff1e68df9e7ac1
BLAKE2b-256 eec6fc7b3ea78c787bca9f81d3153d987144cd45bb61d798477e8d8d7e42f8e4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datawhisk-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b235a1d63af2a83af762a87fb1bf9d4ca0d269e955398235b356f610c31a497
MD5 cd63dbe73b97172d720c2e7a85a4f166
BLAKE2b-256 bbfb456882db5fcef0a1f9038a3bcf5aaee923b4d2ae553be39a7c537765ba22

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