spy

spylls

Pure Python spell-checker, (almost) full port of Hunspell

Showing:

Popularity

Downloads/wk

0

GitHub Stars

218

Maintenance

Last Commit

3mos ago

Contributors

5

Package

Dependencies

0

License

Categories

Readme

Spylls: Hunspell ported to Python

Spylls is an effort of porting prominent spellcheckers into clear, well-structured, well-documented Python. It is intended to be useful both as a library and as some kind of "reference (or investigatory, if you will) implementation". Currently, only Hunspell <https://github.com/hunspell/hunspell>_ is ported.

Hunspell is a long-living, complicated, almost undocumented piece of software, and it was our feeling that the significant part of human knowledge is somehow "locked" in a form of a large C++ project. That's how Spylls was born: as an attempt to "unlock" it, via well-structured and well-documented implementation in a high-level language.

Follow the explanatory blog post series: on my blog <https://zverok.github.io/spellchecker.html>, on Medium <https://medium.com/spylls-rebuilding-the-spellchecker>, or subscribe to my mailing list <https://zverok.github.io/subscribe.html>_.

Usage as a library

::

$ pip install spylls

.. code-block:: python

from spylls.hunspell import Dictionary

en_US dictionary is distributed with spylls

See docs to load other dictionaries

dictionary = Dictionary.from_files('en_US')

print(dictionary.lookup('spylls'))

False

for suggestion in dictionary.suggest('spylls'): print(suggestion)

spells

spills

Documentation

Full documentation, including detailed source code/algorithms walkthrough, more detailed reasoning and some completeness reports, is available at https://spylls.readthedocs.io/.

License

MIT licensed. See the bundled LICENSE <https://github.com/spylls/spylls/blob/master/LICENSE>_ file for more details.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100