Skip to main content

Python spellchecker with Hunspell as back-end

Project description

About

Sibel is a Python spellchecker with the powerful Hunspell as the back-end. Specifically, the following methods are available:

  • spell(): check if a word is spelled correctly.
  • suggest(): get a list of suggestions for a word.
  • stem(): get the stems of a word.
  • analyse(): get the morphological analysis of a word.

Apart from these methods, Sibel also provides an additional one, orthographic_forms(), which, given an input in ASCII, returns a list of all possible orthographic forms of the input in Unicode, that is, with diacritics added, and constituent letters combined into proper ligatures.

Comparison with PyHunspell

  • Sibel is not wedded to Hunspell. It might switch to other back-ends.
  • PyHunspell is no longer actively maintained, and uses deprecated APIs.
  • Sibel's methods return the natural types, instead of raw bytes.
  • Sibel releases the GIL when appropriate.
  • Sibel has an additional method, which requires libicu.
  • Sibel does not expose all APIs of Hunspell.

Installation

pip install sibel

On devices with limited memory, the compilation might fail due to the very large map defined in substitutions.cc. If this happens, the only way to use Sibel is manual compilation. First comment out the languages you don't use (by prepending // to irrelevant lines), then run the following:

python setup.py build
python setup.py install

Usage

>>> import sibel
>>> speller = sibel.Speller('/usr/share/hunspell', 'de_DE')
>>> speller.orthographic_forms('Massen')
['Massen', 'Maßen']
>>> speller = sibel.Speller('/usr/share/hunspell', 'en_GB')
>>> speller.spell('analyze')
False
>>> speller.suggest('analyze')
['analyse', 'analyte']
>>> speller.stem('archer')
['arch']
>>> speller.orthographic_forms('fiance')
['fiancé', 'fiance']

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sibel-0.1.1.tar.gz (20.7 kB view details)

Uploaded Source

File details

Details for the file sibel-0.1.1.tar.gz.

File metadata

  • Download URL: sibel-0.1.1.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for sibel-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0c06068b473721b0cb5ff743bf62e6f14d145f6b65fc1409953976db10781948
MD5 7a51a3f1f8c4aaa05e1c44488643b30f
BLAKE2b-256 5c53b9d68074718af2572df4753bd577988612e2c0ced5a924b20d6abd11d535

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page