viig99 / SymSpellCppPy

Fast SymSpell written in c++ and exposes to python via pybind11

Home Page:https://symspellcpppy.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  • Check examples for provided usage.
  • Check api docs for detailed API documentation.
  • Check tests/SymSpellCppPyTest.py for extended api usage.

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

About

Fast SymSpell written in c++ and exposes to python via pybind11

https://symspellcpppy.readthedocs.io

License:Apache License 2.0


Languages

Language:C++ 79.7%Language:Python 20.1%Language:CMake 0.2%