Implement TextSpitter/splitters.py — thin Python classes that use the Rust backend when available and fall back to pure Python transparently.
Wiki: Phase 3 detail
Branch: feature/rust-backend
Tasks
Acceptance criteria
CharacterTextSplitter(use_rust=True).split_text(text) == CharacterTextSplitter(use_rust=False).split_text(text) for all inputs
- If
text_spitter_rust is not installed, the class works silently via Python fallback
Implement
TextSpitter/splitters.py— thin Python classes that use the Rust backend when available and fall back to pure Python transparently.Wiki: Phase 3 detail
Branch:
feature/rust-backendTasks
_RUST_AVAILABLEimport guard (try: from text_spitter_rust import ...; except ImportError)CharacterTextSplitterPython class withsplit_text/split_textsrouting to Rust or Python backend_split_text_python— fully working pure-Python fallback (not a stub); must produce identical output to Rust implementationuse_rust=Falseparameter for forcing pure-Python mode (debugging + parity testing)Acceptance criteria
CharacterTextSplitter(use_rust=True).split_text(text) == CharacterTextSplitter(use_rust=False).split_text(text)for all inputstext_spitter_rustis not installed, the class works silently via Python fallback