API Reference¶
Complete reference for all public functions, classes, and types in disarm.
Modules¶
| Module | Description |
|---|---|
| Core Transforms | Text transformation functions |
| Precompiled Pipelines | Ready-to-use multi-step pipelines |
| Predicates | Text inspection functions |
| Grapheme Clusters | User-perceived character operations |
| Encoding | Byte sequence detection and decoding |
| Classes | Text, Slugifier, UniqueSlugifier, TextPipeline |
| Enums & Types | Script, NF, EmojiProvider, type aliases |
| Language Profiles | Language listing and registration |
| Exceptions | DisarmError |
Import convention¶
All public symbols are available from the top-level package:
from disarm import transliterate, slugify, Script, LANG_DE
Domain-specific namespaces are also available:
from disarm.security import is_confusable, security_clean
from disarm.normalization import fold_case, strip_accents
from disarm.codec import decode_to_utf8, detect_encoding
from disarm.files import sanitize_filename
Compatibility aliases¶
disarm provides drop-in aliases for several legacy libraries:
# Unidecode / text-unidecode
from disarm import unidecode
# str.casefold() / sklearn
from disarm import casefold, remove_accents
# awesome-slugify
from disarm import Slugify, UniqueSlugify
from disarm import slugify_url, slugify_filename, slugify_unicode
from disarm import slugify_ru, slugify_de, slugify_el
# Elasticsearch/Solr
from disarm import ascii_fold
See Classes → Compatibility aliases and the migration guides for details.
Type annotations¶
disarm is fully typed. A py.typed marker file and .pyi stub files are included for mypy and pyright support.
# All functions have full type annotations
reveal_type(transliterate("test")) # str
reveal_type(detect_scripts("test")) # list[Script]
reveal_type(is_ascii("test")) # bool