Metadata-Version: 2.4
Name: dataforge-profile
Version: 0.1.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: pandas>=1.5
Requires-Dist: pyarrow>=12.0
Requires-Dist: pytest>=7.0 ; extra == 'dev'
Requires-Dist: pytest-benchmark>=4.0 ; extra == 'dev'
Requires-Dist: pandas>=2.0 ; extra == 'dev'
Provides-Extra: dev
Summary: High-performance data profiling for pandas/pyarrow DataFrames
Keywords: data,profiling,pandas,pyarrow,statistics,eda
Author-email: DataForge Team <dataforge@example.com>
License: Apache-2.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://github.com/shyamsivakumar/dataforge#readme
Project-URL: Homepage, https://github.com/shyamsivakumar/dataforge
Project-URL: Issues, https://github.com/shyamsivakumar/dataforge/issues
Project-URL: Repository, https://github.com/shyamsivakumar/dataforge.git

# DataForge Profile

High-performance data profiling for Python, powered by Rust.

## Installation

```bash
pip install dataforge-profile
```

## Usage

```python
import pandas as pd
from dataforge_profile import profile

# Profile a pandas DataFrame
df = pd.DataFrame({
    "id": range(1_000_000),
    "name": [f"user_{i}" for i in range(1_000_000)],
    "email": [f"user{i}@example.com" for i in range(1_000_000)],
    "age": [25] * 1_000_000,
})

result = profile(df)

# Access column statistics
print(result["columns"]["id"]["mean"])  # ~500000
print(result["columns"]["email"]["inferred_type"])  # "email"
```

## Benchmark

Profiling 1M rows:

| Tool | Time | Memory |
|------|------|--------|
| ydata-profiling | ~12s | ~500MB |
| **dataforge-profile** | **~0.14s** | **~50MB** |

**~85x faster, 10x less memory**

## Requirements

- Python 3.9+
- pandas >= 1.5 or pyarrow >= 12.0

## License

Apache 2.0

