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.3.tar.gz (49.8 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.3-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datawhisk-1.0.3.tar.gz
  • Upload date:
  • Size: 49.8 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.3.tar.gz
Algorithm Hash digest
SHA256 fc1debf3cea349116d0c30f95bd04212f9f13924509753e0ad331b740113051f
MD5 97182d1a079265681e9dc525817d95a5
BLAKE2b-256 0bedaf47e7b0a34db0997ba8248e3e986f191078720365384f7c6f04fdf7113e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datawhisk-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b264e67f94f047e313ee6df8707b50372ff32d524c04abc7c69daffb66bb949d
MD5 040f3d5cb61835dad2cc519b630b0a7e
BLAKE2b-256 ddd3b3c03bddc5fb920457e2e6f159faeee32e148914e2b4b0aa7455ded04c3d

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