Metadata-Version: 2.4
Name: sinica
Version: 0.1.1
Summary: A pandas DataFrame profiling tool for statistical summaries and quality alerts.
Author-email: sarvamm <srvmrtr@gmail.com>
Project-URL: Homepage, https://github.com/sarvamm/seneca
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=1.2.0
Requires-Dist: numpy>=1.20.0
Requires-Dist: scipy>=1.6.0
Dynamic: license-file

# Sinica 

[![PyPI version](https://badge.fury.io/py/sinica.svg)](https://badge.fury.io/py/sinica)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)

**Sinica** is a lightweight, fast, and intuitive Python data profiling tool built on top of `pandas`. It provides comprehensive statistical summaries and automated data quality alerts with zero bloated dependencies.

---

##  Key Features

- **Instant Statistical Summaries**: Get detailed, column-level statistical insights (mean, median, mode, missing values, min/max) in a single method call.
- **Automated Quality Alerts**: Detect data hygiene issues automatically, including:
  - Constant or zero-filled columns
  - High correlation between features
  - High cardinality & severe class imbalance
  - Skewed distributions & missing data percentages
  - Duplicate rows & empty dataset checks
- ⚡ **Lightweight & Clean Output**: Returns clean, standard `pandas.DataFrame` objects that seamlessly integrate with your analytical workflows or reporting pipelines.

---

##  Installation

Install `sinica` directly from PyPI using `pip`:

```bash
pip install sinica
```

#  Quick Start

Here is how you can profile a dataset in under 10 seconds:
```python
import pandas as pd
from sinica.core import ProfileReport

# 1. Load your DataFrame
df = your_data_frame

# 2. Instantiate the ProfileReport
pr = ProfileReport(df)

# 3. Generate a statistical summary
summary_df = pr.summary()
print(summary_df)

# 4. Extract data quality alerts
alerts_df = pr.alerts()
print(alerts_df)
```

