Python wrapper for Hspell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
MANIFEST.in
README.md
README.rst
pyhspell.c
pyhspell.pyx
setup.cfg
setup.py

README.md

This is simple python wrapper to Hspell.

Hspell is free Hebrew spellchecker and morphology engine. This is just a python wrapping of Hspell.

You can get Hspell from: http://hspell.ivrix.org.il/

Hspell was written by Nadav Har'El and Dan Kenigsberg:

	nyh    @ math.technion.ac.il
	danken @   cs.technion.ac.il

Install

  1. Get Hspell:
  2. Download Hspell: http://hspell.ivrix.org.il/
  3. Configure: ./configure --enable-shared --enable-linginfo
  4. Build: make
  5. Install: make install
  6. python setup.py install

You can install HspellPy using pip:

pip install HspellPy

If you fail to import HspellPy with the following error:

>>> import HspellPy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libhspell.so.0: cannot open shared object file: No such file or directory

You should validate libhspell.so.0 is accessible in LD_LIBRARY_PATH.

Usage

Usage example (python 3)

>>> from __future__ import unicode_literals
>>> import HspellPy
>>> speller = HspellPy.Hspell(linguistics=True)
 
>>> speller.check_word('בית')       # check whether word exist in dictionary
True
>>> speller.check_word('הבית')      # words with prefix are also valid
True
>>> speller.check_word('בעעעע')     # invalid word
False
>>> 'בית' in speller                # syntactic sugar
True
>>> speller.try_correct('עדג')      # corrections (doesn't correct typo. see Hspell doc)
['הדג', 'עדה']
>>> speller.enum_splits('וילדותיה')   # list all splits of a word
>[WordEnumSplit(word='וילדותיה', baseword='ילדותיה', preflen=1, prefspec=60)]
>>> speller.linginfo('ילדה')        # morphology
[LinginfoWord(word='ילדה', linginfo='פ,נ,3,יחיד,עבר'), 
  LinginfoWord(word='ילדה', linginfo='ע,נ,יחיד'),
  LinginfoWord(word='ילדה', linginfo='ע,ז,יחיד,כינוי/נ,3,יחיד')]