Skip to main content

Python bidings for Nuspell - a fast and safe spellcheckingC++ library

Project description

PyNuspell Nuspell Build Python Black


About PyNuspell

PyNuspell is a set of Python 3.x bindings for Nuspell spellchecking C++ library.

About Nuspell

Nuspell is a fast and safe spelling checker software program. It is designed for languages with rich morphology and complex word compounding. Nuspell is written in modern C++ and it supports Hunspell dictionaries.

Main features of Nuspell spelling checker:

  • Provides software library and command-line tool.
  • Suggests high-quality spelling corrections.
  • Backward compatibility with Hunspell dictionary file format.
  • Up to 3 times faster than Hunspell.
  • Full Unicode support backed by ICU.
  • Twofold affix stripping (for agglutinative languages, like Azeri, Basque, Estonian, Finnish, Hungarian, Turkish, etc.).
  • Supports complex compounds (for example, Hungarian, German and Dutch).
  • Supports advanced features, for example: special casing rules (Turkish dotted i or German sharp s), conditional affixes, circumfixes, fogemorphemes, forbidden words, pseudoroots and homonyms.
  • Free and open source software. Licensed under GNU LGPL v3 or later.

See more details at https://nuspell.github.io/ and https://github.com/nuspell/nuspell

Installing using pip

You can install this package using pip:

pip install pynuspell

To download dictionaries, please refer to https://github.com/nuspell/nuspell/wiki/Dictionaries-and-Contacts

Installing from source

Requirements:

  • Python 3.6 or later
  • Git
  • C++ compiler with cmake

Open a terminal and run the following commands:

# Clone repository
git clone --recurse-submodules https://github.com/scherzocrk/pynuspell.git
cd pynuspell

# Install vcpkg (Windows)
.\extern\vcpkg\bootstrap-vcpkg.bat
set VCPKG_ROOT=.\extern\vcpkg

# Install vcpkg (Linux/MacOS)
.\extern\vcpkg\bootstrap-vcpkg.sh
export VCPKG_ROOT=.\extern\vcpkg

# Install nuspell
.\extern\vcpkg\vcpkg install nuspell

# Build and install pynuspell
python setup.py install

# You can generate stub files for IntelliSense using:
pip install pybind11-stubgen
pybind11-stubgen --no-setup-py pynuspell

# You can run somes tests using:
pip install pytest
pytest tests/tests.py

Usage

>>> import pynuspell
>>> nuspell_dict = pynuspell.load_from_path('en-US')  # path to where en_US.aff and en_US.dic are found
>>> nuspell_dict.spell('spookie')
False
>>> nuspell_dict.suggest('spookie')
['spookier', 'spook']
>>> nuspell_dict.spell('spookier')
True

Next Steps

  • Add more bindings to existing features
  • Keep up to date with new releases of Nuspell
  • Anyone is more than welcome to contribute to this package

Contact information:

Acknowledgments

Special thanks to Nuspell and PyBind11 developers

License

PyNuspell is licensed under the LGPL version 3 or later, see LICENSE for more information.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pynuspell-1.0.0-cp39-cp39-win_amd64.whl (12.4 MB view details)

Uploaded CPython 3.9 Windows x86-64

pynuspell-1.0.0-cp39-cp39-win32.whl (12.2 MB view details)

Uploaded CPython 3.9 Windows x86

pynuspell-1.0.0-cp39-cp39-manylinux2014_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.9

pynuspell-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pynuspell-1.0.0-cp38-cp38-win_amd64.whl (12.4 MB view details)

Uploaded CPython 3.8 Windows x86-64

pynuspell-1.0.0-cp38-cp38-win32.whl (12.2 MB view details)

Uploaded CPython 3.8 Windows x86

pynuspell-1.0.0-cp38-cp38-manylinux2014_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.8

pynuspell-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pynuspell-1.0.0-cp37-cp37m-win_amd64.whl (12.4 MB view details)

Uploaded CPython 3.7m Windows x86-64

pynuspell-1.0.0-cp37-cp37m-win32.whl (12.2 MB view details)

Uploaded CPython 3.7m Windows x86

pynuspell-1.0.0-cp37-cp37m-manylinux2014_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.7m

pynuspell-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pynuspell-1.0.0-cp36-cp36m-win_amd64.whl (12.4 MB view details)

Uploaded CPython 3.6m Windows x86-64

pynuspell-1.0.0-cp36-cp36m-win32.whl (12.2 MB view details)

Uploaded CPython 3.6m Windows x86

pynuspell-1.0.0-cp36-cp36m-manylinux2014_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.6m

pynuspell-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file pynuspell-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 12.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5872a3a3bc482c4d8e7fde41a751a2904b40663d0a99ce5e649174f5a3b6afb2
MD5 75960a3efa4fafd18f5b705fdadc15fb
BLAKE2b-256 a1a17dade250e54ad30262ee9585ec6645b41b9c1f3b99f94a4d26410ba07350

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b7b6ee6a8226f61a3c9d15aa1ae0adb3d13f67b52445f7e580fe8be681ad44a4
MD5 65b2da0f4764ad2af8c860b6ab112078
BLAKE2b-256 1068a4542beed85dc69acbc70f0a6b175892066da6023691e83dc1885bccace1

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3270b63cb6211b67c1219d56349f1cd5b1204831f7b28c64e50330b4d7b0250a
MD5 1d7c38101199cc4de131b5fddd74a460
BLAKE2b-256 63dc6119702e5f804f45fb489cbf40aecf1567c135175da4e73cc566fa2a36b1

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 db2ab55d4c7e73f1adf710fefc46b55b011fab805a3290fe153b49b2a1334f2d
MD5 1a028e51bd66d8646abdaa4cbaaf5c2e
BLAKE2b-256 2904100aa1f4ec696703a594acf034dbad67ec7c93f1b22ca1254aefe975a506

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 12.4 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 85d69fad13df7376989c7be4ae8786cd36b3aa1a76478ec3b8680ea29bb1fc6b
MD5 ba11ac0b584bacc36b2cace95010e0a7
BLAKE2b-256 e9a4f095be99510313710ddb3b4105ae62a22170245858b0dcbeb32a9bb56ab3

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 11af49a7c2e66acc048cdac6e5f807478b954977be33f277293230fafde13d61
MD5 ef1969fc5cdc661315865106939e387d
BLAKE2b-256 04857b56a01252269644c1560cd417308f1f08a9bbf15c1b934b8a2ec2706333

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e37169e666e0718f8d8ad060de66c083fcd1868c9913d05a9e7474674f040da
MD5 2b5fcb735ead4ce6ac1aa579a7447a32
BLAKE2b-256 600ebb6fa297832c0a0e251dd40e1856bfb70e8ed0a6ad07ffbccc95c1020854

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 60fd0026c35a6d5cdd943e47c52b62665a0ed8d099a188e721cc3a42297396d9
MD5 0fa40b39741df7d5872dcd1b32ddacee
BLAKE2b-256 9698902fcbe197f6734687c9e046c796bdfb2c4da097ff2ef7c041ba05c1d932

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 12.4 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 fd64d53630a8e9ea814fca9f017ad2bcfaf5dfe573c63803705b002476a2565b
MD5 9c60c5a47b27ee11c8c5ec9c3c217fd9
BLAKE2b-256 188211f9861c3ee988d80fcf10651983210f960ed7e554f66553271b2ae05d4f

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 467e50e3e0bad9a9bb2520acf8a67b7e852c6ed99d9bf11d5f4b4f006dc90100
MD5 d3d524be253e7d7c8b5b76516da43059
BLAKE2b-256 ef2d1033d01422ce8acfd038347706f58c12ff0580c1258979aad625e85a7257

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cefe8b8a9b03982b5af722e2407fb61b2e21ea104e888161f60a3b3db50746fb
MD5 620fe5d29051157984f9d305e718cb43
BLAKE2b-256 1caa2596ced89bb6a9559f3c3bc22619c0188d66b4e2353b7d9f94f2e2b8cd89

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 db250b8cc062f8dc92ba02f4dd1fb7d7297b89fe309a8b750af6c2dc9691af98
MD5 1b68d131793d9deb4ba98db22b93feca
BLAKE2b-256 5c1413305777facce246c58766e9fb0dec86ab45e1d1fdaa21f1d44dc040961f

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 12.4 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ccd5b6799eae91a5cfd7aac76a828bdc8da69479500618e5b10f63d00fd3ea71
MD5 5d5572b6b2035e4b607913fdfa7ba0c0
BLAKE2b-256 6a3e9a11413fd0b8af664445e030c9cde23db03b29e4ec8e7aaf223a5cacc99a

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 987d379cf945c032215af56a345338836c92b893f7a760688c120b9d7f9ba7c7
MD5 92a7073356b28e6a5a4a7d22539f9aa2
BLAKE2b-256 3f0c9a3544a4a6cf83b88ddad4c7849258841bd311816cd5807d388e8921df98

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6b6939e77f3ad33b69656d7786246e46ad97c3a1085509acca19ca9a6ed5340
MD5 4c90080d50dc44e9bbc4ff332f5b19bf
BLAKE2b-256 bcf6260224a5c5d36a6a6dca40f78cce919bd9f7ae315fb06d7767117195f02b

See more details on using hashes here.

File details

Details for the file pynuspell-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pynuspell-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for pynuspell-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 786f7a5adbe442650c46d39ce313bd35e65dacd59eee29245581c8d2629674b7
MD5 8c3547e71e77ae471d988a9adc584810
BLAKE2b-256 8911f1656ec3553657fd20a87c75cae17b102e6ad4aa93194fd9c5b58ebb9faf

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