viig99 / SymSpellCppPy

Fast SymSpell written in c++ and exposes to python via pybind11
https://symspellcpppy.readthedocs.io
Apache License 2.0
39 stars 7 forks source link
compound-words fuzzy-matching fuzzy-search pybind11 python spell-check spellcheck spelling spelling-correction spelling-corrector symspell text-segmentation word-segmentation

SymSpellCppPy

A Fast SymSpell v6.5 port for python written in C++ using pybind11.

Version UnitTests Docs Downloads License

Installation

pip install --upgrade SymSpellCppPy

Documentation

Benchmark Results

Run on AMD 5900x

pip install pytest pytest-benchmark symspellpy SymSpellCppPy
pytest benchmark.py --benchmark-compare

Benchmark Results

Development

git clone git@github.com:viig99/SymSpellCppPy.git
cd SymSpellCppPy
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

Testing

Python Bindings

Build

python3 setup.py build

Test

Python tests

python3 setup.py test

C++ tests

For detailed list of command line test flags please refer to Catch 2 Docs

cd build
./Catch2Test -s

Acknowledgements