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.1.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.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datawhisk-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 74fc105f2837567ae048b63b1aba142f1faa6d209011bbb0da0f953497671062
MD5 eea629f2462d0deef536871e5efd3278
BLAKE2b-256 be3a7d31c36b54873cf594485fa67c97417c674c2e093feca5a5e5ecb6340ff3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datawhisk-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0eac9562bb22f6c79f1272b86265b92554ef91f3ca57785f60c413083e22ced
MD5 4259b957cc7411a8861c7348c71b2573
BLAKE2b-256 dbb07cd41aa8781c93e532dbf1ca726b01a9c8d3aade23dfbb3fb4a503cb10a8

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