semvec/pypi-packages huggingface dataset:
datacleanx 0.1.0
Fast data cleaning engine for ML projects
License: MIT
Requires Python: <4.0,>=3.12
Keywords: data-cleaning, ML, CLI, preprocessing

# 🧼 datacleanx

**datacleanx** is a fast, CLI-first data cleaning engine for tabular datasets. It's designed for machine learning practitioners and data engineers who want to automate cleaning workflows efficiently using a single command-line interface.

---

## 🚀 Why datacleanx?

- 🔁 Automates repetitive cleaning steps
- 📦 Works out-of-the-box with CSV files
- 📁 Outputs timestamped cleaned files and reports
- 🐳 Docker-ready for CI/CD and containerized workflows
- 🧪 Includes tests and reports for reproducibility

---

## 🔧 Features

- ✅ Imputation: `mean`, `median`, `mode`
- ✅ Encoding: `label`, `onehot`
- ✅ Outlier removal using IQR
- ✅ Feature scaling: `standard`, `minmax`, `robust`
- ✅ Auto-saves cleaned data to `outputs/`
- ✅ Saves reports as structured JSON
- ✅ CLI-first design, easily scriptable
- ✅ Docker and Poetry integration

---

## 📦 Installation

### ✅ Option 1: From PyPI

```bash
pip install datacleanx
gtfont 1.0.0
Fast font measurement in Rust callable from Python
License: MIT
Requires Python: >=3.10

# gtfont

**Fast string measurement for perfect tables.**

`gtfont` is a Rust-powered Python extension that provides precise text measurement utilities, optimized for building perfectly aligned tables from `pandas` DataFrames.

This library is designed for use within the [`greater_tables`](https://github.com/mynl/greater_tables_project) package, but can also be used standalone.

## Features

- Measure the rendered width of a sentence using system fonts
- Compute maximum word width in a line
- Combine both in one efficient call
- Based on native font rendering for accurate results
- Blazing-fast Rust backend exposed as a Python module

## Installation

```bash
pip install gtfont
````

Python ≥3.8 is required. Pre-built wheels are available for major platforms via PyPI.

## Example

```python
from gtfont import FontMeasurer
from matplotlib import font_manager

font_path = font_manager.findfont("Times New Roman", fallback_to_default=True)
font_bytes = Path(font_path).read_bytes()
fm = FontMeasurer(font_bytes)
sentence = "The quick brown fox jumps over the lazy dog."

# Measure sentence width in points
width = fm.measure(sentence, 11)

# Measure max word width
max_word = fm.max_word_width(sentence, 11)

# Both at once
sentence_width, max_word_width = fm.measure_and_max_word(sentence, 11)
```

## Build

```
maturin build --release --strip

# or 

maturin develop 
```


## Why Rust?

Font measurement is performance-critical. By leveraging [pyo3](https://github.com/PyO3/pyo3), we combine the safety and speed of Rust with the usability of Python.

## License

MIT © [Stephen J. Mildenhall](mailto:mynl@me.com)