Metadata-Version: 2.4
Name: gouda-cheese
Version: 0.1.8
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: numpy>=2.0.0
Requires-Dist: scikit-learn>=1.3.2
Requires-Dist: torch>=2.12.1 ; extra == 'deep'
Provides-Extra: deep
Summary: Imputation Library primarly written in Rust
Requires-Python: >=3.11
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# Gouda

Fast, scikit-learn compatible imputation for Python, implemented primarily in Rust.

Designed for mixed-type datasets with missing values, including categorical features.

## Features

- 🚀 Rust-powered performance
- ✅ Fully scikit-learn compatible (`fit`, `transform`, `fit_transform`)
- 🐼 Supports NumPy arrays and pandas DataFrames
- 🏷️ Native support for categorical features
- 💾 Pickle compatible

## Installation

```bash
pip install gouda-cheese
# or
uv add gouda-cheese
```

## Usage

```python
from gouda import KnnImputer

imputer = KnnImputer()
X_imputed = imputer.fit_transform(X)
```

## Available Imputers

- `KnnImputer`
- `Mice`
- `SimpleImputer`
- `ConstantImputer`
- `SVMImputer`
- `GAIN`

## Why Gouda?

Most existing imputation libraries either:
- only support numerical data,
- require cumbersome preprocessing for categoricals, or
- become slow on large datasets.
- limited selection of algorithms.

Gouda provides high-performance, sklearn-compatible imputers with first-class support for mixed numerical and categorical data.

