AutoPreprocessor
An experimental AutoML preprocessing package that combines rule-based preprocessing with a lightweight Retrieval-Augmented Generation (RAG) system to automatically suggest encoding strategies for tabular datasets.
The project uses Sentence Transformers and ChromaDB locally. It does not rely on external LLM APIs.
Features
- Mean, median, and mode imputation
- Label encoding for binary columns
- One-hot encoding
- RAG-assisted ordinal encoding
- Standard scaling and robust scaling
- Automatic dropping of columns with excessive missing values
Installation
Install locally from the project root:
pip install .
For development, you can also install dependencies directly:
pip install -r requirements.txt
Usage
import pandas as pd
from autopreprocessor import AutoPreprocessor
data = pd.read_csv("sample.csv")
auto = AutoPreprocessor()
X_processed = auto.fit_transform(data)
print(auto.report_)
RAG And ChromaDB
The package preserves the existing RAG behavior and ChromaDB usage. AutoPreprocessor loads the persistent ChromaDB collection named rag_collection from:
autopreprocessor/chroma_db/
The ChromaDB path is resolved with pathlib relative to the installed package location, so it can work across machines and operating systems.
Project Structure
AutoPreprocessor/
|
|-- autopreprocessor/
| |-- __init__.py
| |-- auto_preprocessor.py
| |-- chroma_db/
|
|-- requirements.txt
|-- setup.py
|-- pyproject.toml
|-- README.md
|-- .gitignore
API
from autopreprocessor import AutoPreprocessor
AutoPreprocessor exposes:
fit(data)transform(data)fit_transform(data)report_
The preprocessing logic is preserved from the original notebook implementation.
Metadata
Release files for autopreprocessor 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| autopreprocessor-0.1.1.tar.gz | 5.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autopreprocessor-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.1 kB
Release files / autopreprocessor-0.1.1.tar.gz
| Download URL | autopreprocessor-0.1.1.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f8c065732e1a061315ca546bbbfce13ebe1e126a28dd3c9375e05b2773ec311
|
|
BLAKE2b-256 checksum How to use checksums |
1d9ff7083029e30d75344f7b29012cb6ec8f52fe64805840cbf1980ad3b9f053
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Release files / autopreprocessor-0.1.1-py3-none-any.whl
| Download URL | autopreprocessor-0.1.1-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e50a97deac1d1a0afb1de7b7bd3ca2c270fbd40815b45d524f97007bb9a0c2e8
|
|
BLAKE2b-256 checksum How to use checksums |
774cb69306c6de6c827f9448c88bec9ee2b6fffbc905b6cb75ecc2458cd28fa3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Security for autopreprocessor 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.