Choose a Radixor runtime
Radixor is a dictionary-trained transformation stemmer. It learns compact word-to-stem operations from lexical evidence and applies them through a reduced trie, allowing the runtime to generalize beyond word forms explicitly listed in the training data. The result is deterministic multilingual stemming with compact deployable models and independently reproducible quality and performance measurements.
Radixor is available through three implementations. They share the standard language catalog and interoperable compiled Radixor models, but differ in integration surface and model-management capabilities.
Choose by task
| I want to... | Recommended path |
|---|---|
| Stem words from Python with the smallest scalar-call overhead | Python-C fast track |
| Process Python batches or compile a custom dictionary | Python fast track |
| Integrate the complete reference implementation into a JVM application | Java fast track |
| Move from PyStemmer without changing familiar method names | Python migration methods |
| Select a published model | Model selection and loading |
| Compile a source dictionary | CLI compilation or Python model compilation |
| Deploy an interoperable compiled model | Compiled data formats |
| Evaluate measured quality and throughput | Current benchmark results and Python runtime performance |
| Review support, security, or release policy | Trust, security, and support |
| Implementation | Role | Best fit | Performance model | Model capabilities |
|---|---|---|---|---|
Java (org.egothor:radixor) |
Complete reference implementation | JVM applications and model development | Direct JVM calls; allocation-conscious APIs | Complete functionality: selectable reduction and normalization, trie construction, extension and persistence |
Python (PyO3) (radixor) |
Native Python runtime with batch, compilation, and customization APIs | Python pipelines that need model compilation, rich results, or high batch throughput | Batch methods amortize the Python/native boundary | Loads compiled models, compiles dictionaries, and supports custom rules |
Python-C (radixor-c) |
Focused runtime implemented against the CPython C API | Python applications that primarily consume prepared models | Low native-call overhead, including calls for individual words | Loads compiled models and stems text; it does not expose trie compilation or modification |
Java is the complete reference implementation. radixor-c is not a
reduced-quality stemmer: it uses the same compiled models and produces the same
stemming results. Its smaller management API is an intentional runtime
boundary. Use radixor when a Python application must compile or customize a
model; use radixor-c when it only needs to load and execute one.
Support and versioning
Runtime and model versions have distinct compatibility boundaries. See Trust, security, and support for the current support window, versioning policy, and private vulnerability-reporting channel.
Fast track
python -m pip install radixor-c
from radixor_c import Stemmer
stemmer = Stemmer("en")
print(stemmer.stem("running")) # run
Continue with the Python-C quick start.
python -m pip install radixor
from radixor import Stemmer
stemmer = Stemmer("en")
print(stemmer.stem_batch(["running", "studies", "cars"]))
Continue with the Python quick start.
Start with the Java fast track, then see how to extend a compiled stemmer.
Shared concepts
- Compiled data formats explains source dictionaries, compiled tries, which runtime can create them, and how they move between implementations.
- Built-in languages documents aliases, model IDs and defaults.
- Python runtime performance is the shared benchmark page for both Python runtimes, measured over the same corpus and benchmark session.
- Architecture explains the common stemming semantics and runtime-specific data structures.