Skip to content

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.