wetext
WeTextProcessing Runtime
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has low install friction, carries a permissive license, and fills a specific need for multilingual text normalization with FST-based precision. It is suitable for production use in speech processing, NLP preprocessing, and text-to-speech pipelines. No known vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later; kaldifst dependency may require a C++ compiler on some platforms.
- Low friction: pure Python wheel with only two runtime dependencies (contractions and kaldifst).
- Active maintenance with a recent release 16 days ago.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most production deployments.
last release 2026-07-29 (16 days) · last repo commit 2026-07-29 · 53 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 281,375 downloads/mo, #8,100 on PyPI
Alternatives
Verify before relying
pip install wetext
from wetext import Normalizer
normalizer = Normalizer(lang="en", operator="tn")
result = normalizer.normalize("The price is $12.50")
print(result) # The price is twelve point five dollars- Performance characteristics and typical latency per normalization call
- Memory footprint of loaded FST models for each language
- Accuracy metrics or benchmarks against standard test sets
- Whether n-best and mapping features are stable or experimental
What it is and what it does
WeText is a Python runtime for multilingual text normalization and inverse text normalization using finite state transducers. It converts between written and spoken forms of text—for example, turning "$12.50" into "twelve point five dollars" or vice versa—across Chinese, English, and Japanese. The package does not depend on Pynini, instead using kaldifst for FST operations.
Beyond basic normalization, it offers character conversions (traditional to simplified Chinese, full-width to half-width), linguistic preprocessing (interjection and punctuation removal, out-of-vocabulary tagging), and language-specific features like erhua removal for Chinese and 0-to-9 conversion for ITN. It exposes both a Python API with support for n-best candidates and exact token mappings, and a command-line interface for quick text processing.
Use it for
- Prepare speech recognition output (spoken form) into written text for downstream NLP tasks
- Convert written numbers and currency in documents into their spoken equivalents for text-to-speech systems
- Preprocess multilingual user input by normalizing punctuation, removing interjections, and converting character widths
- Generate multiple candidate normalizations ranked by FST weight for ambiguous text sequences
- Build pipelines that require bidirectional text normalization for Chinese, English, or Japanese corpora
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has low install friction, carries a permissive license, and fills a specific need for multilingual text normalization with FST-based precision. It is suitable for production use in speech processing, NLP preprocessing, and text-to-speech pipelines. No known vulnerabilities.
Install
wetext on PyPI
Before you install
Low friction: pure Python wheel with only two runtime dependencies (contractions and kaldifst). Active maintenance with a recent release 16 days ago.
Requires Python 3.7 or later; kaldifst dependency may require a C++ compiler on some platforms.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most production deployments.
Quickstart
pip install wetext
from wetext import Normalizer
normalizer = Normalizer(lang="en", operator="tn")
result = normalizer.normalize("The price is $12.50")
print(result) # The price is twelve point five dollars
Verify before relying
- Performance characteristics and typical latency per normalization call
- Memory footprint of loaded FST models for each language
- Accuracy metrics or benchmarks against standard test sets
- Whether n-best and mapping features are stable or experimental
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagescontractionskaldifst |
| Maintenance | Actively maintained 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 281,375 / month, #8,100 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Operating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: wetext-0.1.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “text normalization chinese english japanese”
- wetextNormalizes and denormalizes text in Chinese, English, and Japanese…
- OpenCCConverts text between Traditional Chinese, Simplified Chinese, and…
- misakiConverts written text to phonetic representations…
Give your agent the search over MCP, or paste the wish link into any chat.
More Linguistic packages
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
tiktoken is a fast BPE tokenizer that converts text into token sequences compatible with OpenAI models, supporting multiple encoding schemes including o200k_base and model-specific encodings.
Install it if you work with OpenAI APIs or need to understand token boundaries in GPT-family models.
Detects character encoding and language in byte sequences with high accuracy, supporting 99 encodings and returning confidence scores, language tags, and MIME types.
Install it if you need to detect character encoding or language in byte data; the rewrite makes it substantially faster and more accurate than its predecessors.
Converts Unicode text to ASCII by transliterating non-ASCII characters into their closest ASCII equivalents, with no runtime dependencies.
However, if transliteration quality or ongoing maintenance matters, consider unidecode instead despite its GPL-only license.
Lark is a parsing library that builds abstract syntax trees from context-free grammars, supporting multiple parsing algorithms (Earley, LALR(1), CYK) with automatic line and column tracking.
Python bindings to the tree-sitter parsing library, enabling incremental parsing and syntax tree analysis for source code.
See also nemo-text-processing · proces · bnunicodenormalizer · whisper-normalizer · pynini · zhconv · OpenCC · opencc-python-reimplemented · sea-g2p · nameparser