Python bidings for Nuspell - a fast and safe spellcheckingC++ library
Project description
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:
- Author: Renan Santos
- E-mail: renan.engmec@gmail.com
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5872a3a3bc482c4d8e7fde41a751a2904b40663d0a99ce5e649174f5a3b6afb2 |
|
MD5 | 75960a3efa4fafd18f5b705fdadc15fb |
|
BLAKE2b-256 | a1a17dade250e54ad30262ee9585ec6645b41b9c1f3b99f94a4d26410ba07350 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7b6ee6a8226f61a3c9d15aa1ae0adb3d13f67b52445f7e580fe8be681ad44a4 |
|
MD5 | 65b2da0f4764ad2af8c860b6ab112078 |
|
BLAKE2b-256 | 1068a4542beed85dc69acbc70f0a6b175892066da6023691e83dc1885bccace1 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3270b63cb6211b67c1219d56349f1cd5b1204831f7b28c64e50330b4d7b0250a |
|
MD5 | 1d7c38101199cc4de131b5fddd74a460 |
|
BLAKE2b-256 | 63dc6119702e5f804f45fb489cbf40aecf1567c135175da4e73cc566fa2a36b1 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | db2ab55d4c7e73f1adf710fefc46b55b011fab805a3290fe153b49b2a1334f2d |
|
MD5 | 1a028e51bd66d8646abdaa4cbaaf5c2e |
|
BLAKE2b-256 | 2904100aa1f4ec696703a594acf034dbad67ec7c93f1b22ca1254aefe975a506 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85d69fad13df7376989c7be4ae8786cd36b3aa1a76478ec3b8680ea29bb1fc6b |
|
MD5 | ba11ac0b584bacc36b2cace95010e0a7 |
|
BLAKE2b-256 | e9a4f095be99510313710ddb3b4105ae62a22170245858b0dcbeb32a9bb56ab3 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11af49a7c2e66acc048cdac6e5f807478b954977be33f277293230fafde13d61 |
|
MD5 | ef1969fc5cdc661315865106939e387d |
|
BLAKE2b-256 | 04857b56a01252269644c1560cd417308f1f08a9bbf15c1b934b8a2ec2706333 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e37169e666e0718f8d8ad060de66c083fcd1868c9913d05a9e7474674f040da |
|
MD5 | 2b5fcb735ead4ce6ac1aa579a7447a32 |
|
BLAKE2b-256 | 600ebb6fa297832c0a0e251dd40e1856bfb70e8ed0a6ad07ffbccc95c1020854 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60fd0026c35a6d5cdd943e47c52b62665a0ed8d099a188e721cc3a42297396d9 |
|
MD5 | 0fa40b39741df7d5872dcd1b32ddacee |
|
BLAKE2b-256 | 9698902fcbe197f6734687c9e046c796bdfb2c4da097ff2ef7c041ba05c1d932 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd64d53630a8e9ea814fca9f017ad2bcfaf5dfe573c63803705b002476a2565b |
|
MD5 | 9c60c5a47b27ee11c8c5ec9c3c217fd9 |
|
BLAKE2b-256 | 188211f9861c3ee988d80fcf10651983210f960ed7e554f66553271b2ae05d4f |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 467e50e3e0bad9a9bb2520acf8a67b7e852c6ed99d9bf11d5f4b4f006dc90100 |
|
MD5 | d3d524be253e7d7c8b5b76516da43059 |
|
BLAKE2b-256 | ef2d1033d01422ce8acfd038347706f58c12ff0580c1258979aad625e85a7257 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | cefe8b8a9b03982b5af722e2407fb61b2e21ea104e888161f60a3b3db50746fb |
|
MD5 | 620fe5d29051157984f9d305e718cb43 |
|
BLAKE2b-256 | 1caa2596ced89bb6a9559f3c3bc22619c0188d66b4e2353b7d9f94f2e2b8cd89 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | db250b8cc062f8dc92ba02f4dd1fb7d7297b89fe309a8b750af6c2dc9691af98 |
|
MD5 | 1b68d131793d9deb4ba98db22b93feca |
|
BLAKE2b-256 | 5c1413305777facce246c58766e9fb0dec86ab45e1d1fdaa21f1d44dc040961f |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccd5b6799eae91a5cfd7aac76a828bdc8da69479500618e5b10f63d00fd3ea71 |
|
MD5 | 5d5572b6b2035e4b607913fdfa7ba0c0 |
|
BLAKE2b-256 | 6a3e9a11413fd0b8af664445e030c9cde23db03b29e4ec8e7aaf223a5cacc99a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 987d379cf945c032215af56a345338836c92b893f7a760688c120b9d7f9ba7c7 |
|
MD5 | 92a7073356b28e6a5a4a7d22539f9aa2 |
|
BLAKE2b-256 | 3f0c9a3544a4a6cf83b88ddad4c7849258841bd311816cd5807d388e8921df98 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6b6939e77f3ad33b69656d7786246e46ad97c3a1085509acca19ca9a6ed5340 |
|
MD5 | 4c90080d50dc44e9bbc4ff332f5b19bf |
|
BLAKE2b-256 | bcf6260224a5c5d36a6a6dca40f78cce919bd9f7ae315fb06d7767117195f02b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 786f7a5adbe442650c46d39ce313bd35e65dacd59eee29245581c8d2629674b7 |
|
MD5 | 8c3547e71e77ae471d988a9adc584810 |
|
BLAKE2b-256 | 8911f1656ec3553657fd20a87c75cae17b102e6ad4aa93194fd9c5b58ebb9faf |