(Official repo for pypi package) Python bindings for the Hunspell spellchecker engine
C++ Python
Clone or download
Pull request Compare This branch is 85 commits ahead of smathot:master.
Latest commit fe4adc6 Aug 6, 2018


Build Status

About PyHunSpell

pyhunspell is a set of Python bindings for the Hunspell spellchecker engine. It lets developers load Hunspell dictionaries, check words, get suggestions, add new words, etc. It also provides some basic morphological analysis related methods.

See ChangeLog for activity.

See Authors for all contributors.


Make sure that python-dev and libhunspell-dev are installed.

You can install this package using pip:

pip install hunspell

Or from source using the following command as root:

python setup.py install

For OSX the version of the lib used to compile is hardcoded. If your installation fails, please try to clone the repo and change main_module_kwargs['include_dirs'] in setup.py to the correct one and/or open an issue stating the problem and the hunspell version with the .h location in your system.

For windows7 @tallforasmurf compiled a python 3.4 compatible version of the pyhunspell==0.3.3 package available here: http://pyhunspell.latinier.fr (Warning: Those windows compiled packages are not reviewed or tested). It could work for other windows version or python versions.


Go here for some documentation


>>> import hunspell
>>> hobj = hunspell.HunSpell('/usr/share/hunspell/en_US.dic', '/usr/share/hunspell/en_US.aff')
>>> hobj.spell('spookie')
>>> hobj.suggest('spookie')
['spookier', 'spookiness', 'spook', 'cookie', 'bookie', 'Spokane', 'spoken']
>>> hobj.spell('spooky')
>>> hobj.analyze('linked')
[' st:linked', ' st:link fl:D']
>>> hobj.stem('linked')
['linked', 'link']
>>> hobj.spell('spookie')
>>> hobj.add('spookie')
>>> hobj.spell('spookie')
>>> hobj.remove('spookie')
>>> hobj.spell('spookie')


On MacOS Sierra with python 3.5 you can come across this error:

fatal error: /Applications/XXX-bla-bla-bla-XXX/usr/bin/lipo: can't figure out the architecture type of: /var/folders/bla-bla-bla/XXX.out

It might be solved by doing brew unlink apple-gcc42. See #31 and regebro/hovercraft#80.


Saw a bug ? Wan't a feature ? Go fill an issue here

For information, version naming (introduced for 0.4.0) is based on Hungarian cities ordered by population except Budapest. The reason why is that hunspell stands for Hungarian Spell.


PyHunspell itself is licensed under the LGPL version 3 or later, see lgpl-3.0.txt and gpl-3.0.txt. The files in the debian/ directory and setup.py are licensed under the GPL version 3.