Metadata-Version: 2.4
Name: bad-checker
Version: 0.1.0
Summary: A typo-tolerant blocklist checker.
Author-email: coder5330 <hello@jldev.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown

# bad-checker

A fuzzy, keyboard-typo- and leetspeak-aware content blocklist for Python.

Install name: `bad-checker` &nbsp;|&nbsp; Import name: `bad`

## Usage

```python
import bad

if "something bad" in bad:
    print("Caught it!")
```

Matching combines:
- direct substring lookups against a blocklist
- leetspeak normalization (`v1agra` -> `viagra`, `fr33` -> `free`)
- a keyboard-proximity-aware Damerau-Levenshtein distance, so typos on
  physically nearby keys (and adjacent-letter transpositions) are caught
  cheaply while unrelated words are not

Add your own keywords at runtime:

```python
bad.add_keywords("mycompanyscam", "internaltermtoflag")
```

## Install

```bash
pip install bad-checker
```

## Build from source

```bash
pip install --upgrade build
python -m build
```

## License

MIT
