Skip to content

Install

pip install SqueakyCleanText

SqueakyCleanText needs Python 3.12 or newer.

The base install uses ONNX Runtime for NER inference - no PyTorch or Transformers required.

Optional extras

Extra Command What it adds
GPU pip install SqueakyCleanText[gpu] CUDA-accelerated ONNX inference; needs the extra install steps in docs/PERFORMANCE.md, which also covers speed by hardware and older drivers
Quantize pip install SqueakyCleanText[quantize] onnx, needed by load_onnx_ner_model(quantize=True)
Fuzzy dates pip install SqueakyCleanText[fuzzy] Fuzzy month name matching (rapidfuzz)
PyTorch NER pip install SqueakyCleanText[torch] PyTorch/Transformers NER backend
GLiNER pip install SqueakyCleanText[gliner] GLiNER zero-shot NER
GLiNER2 pip install SqueakyCleanText[gliner2] GLiNER2 (Fastino AI) backend
Synthetic pip install SqueakyCleanText[synthetic] Faker-based synthetic replacement (realistic fake values instead of <TAG> tokens)
Presidio pip install SqueakyCleanText[presidio] Presidio-analyzer and GLiNER for presidio_gliner backend
Classify pip install SqueakyCleanText[classify] GLiClass document-level pre-classification
MCP pip install SqueakyCleanText[mcp] FastMCP server with text and JSON cleaning tools
Datasets pip install SqueakyCleanText[datasets] Hugging Face datasets adapter (docs/INTEGRATIONS.md)
DataTrove pip install SqueakyCleanText[datatrove] DataTrove pipeline step
LangChain pip install SqueakyCleanText[langchain] LangChain document transformer
Haystack pip install SqueakyCleanText[haystack] Haystack document cleaner component
Score pip install SqueakyCleanText[score] MinHash signatures for score columns and sct-report (docs/SCORE.md)
Parquet pip install SqueakyCleanText[parquet] .parquet input for sct-report (pyarrow)
OCR pip install SqueakyCleanText[ocr] Pillow image redaction and Tesseract OCR adapter
All NER pip install SqueakyCleanText[all-ner] PyTorch, GLiNER and GLiNER2 backends combined (presidio_gliner needs [presidio] as well)
Token store pip install SqueakyCleanText[token-store] Authenticated encryption for local reversible maps; application-owned keys required
Corpus pip install 'SqueakyCleanText[corpus]' DataTrove 0.10.1, signatures, selection and private resumable runs
Documents pip install 'SqueakyCleanText[documents]' Docling 2.148.0 PDF extraction with separately prepared local artifacts
Secrets pip install 'SqueakyCleanText[secrets]' datafog-core 1.0.0 offline credential-format detection
Development pip install SqueakyCleanText[dev] Testing and linting tools
Test pip install SqueakyCleanText[test] Coverage tools for the test suite

You can combine extras: pip install SqueakyCleanText[gpu,fuzzy,gliner]. In zsh, quote the name: pip install "SqueakyCleanText[gpu]".

Opt-in capability setup

Installing an extra does not enable its behavior or establish model quality. Unified processing, field schemas, language abstention and routing need explicit configuration. Document extraction requires separately prepared, verified assets; see document setup. Encrypted storage requires application-owned keys, scope and retention; see token stores. Native corpus jobs require a private output directory and explicit caller-managed retention; see integrations.

Python 3.12, 3.13 and 3.14 are the supported verification matrix. Provider qualification is specific to the installed version, model artifacts, runtime and tested operation. An ONNX smoke test does not qualify Torch, GLiNER, GLiNER2, classification or Presidio inference. The current combined acceptance record is maintained in evaluation/improvements/ACCEPTANCE.md in the source checkout.

The quality export script needs the torch and quantize extras at export time. Runtime quality inference uses ONNX and tokenizer files, without loading the trained pickle. The trained Torch and ONNX scorers passed parity checks on the recorded test profiles. The synthetic controls do not establish effective quality filtering.