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.
Release files for pynuspell 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pynuspell-1.0.0-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
| pynuspell-1.0.0-cp39-cp39-win32.whl | CPython 3.9 | CPython 3.9 | Windows x86-32 | Details |
| pynuspell-1.0.0-cp39-cp39-manylinux2014_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.17+ x86-64 | Details |
| pynuspell-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl | CPython 3.9 | CPython 3.9 | macOS 10.9+ x86-64 | Details |
| pynuspell-1.0.0-cp38-cp38-win_amd64.whl | CPython 3.8 | CPython 3.8 | Windows x86-64 | Details |
| pynuspell-1.0.0-cp38-cp38-win32.whl | CPython 3.8 | CPython 3.8 | Windows x86-32 | Details |
| pynuspell-1.0.0-cp38-cp38-manylinux2014_x86_64.whl | CPython 3.8 | CPython 3.8 | Linux glibc 2.17+ x86-64 | Details |
| pynuspell-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl | CPython 3.8 | CPython 3.8 | macOS 10.9+ x86-64 | Details |
| pynuspell-1.0.0-cp37-cp37m-win_amd64.whl | CPython 3.7 | CPython 3.7 pymalloc | Windows x86-64 | Details |
| pynuspell-1.0.0-cp37-cp37m-win32.whl | CPython 3.7 | CPython 3.7 pymalloc | Windows x86-32 | Details |
| pynuspell-1.0.0-cp37-cp37m-manylinux2014_x86_64.whl | CPython 3.7 | CPython 3.7 pymalloc | Linux glibc 2.17+ x86-64 | Details |
| pynuspell-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl | CPython 3.7 | CPython 3.7 pymalloc | macOS 10.9+ x86-64 | Details |
| pynuspell-1.0.0-cp36-cp36m-win_amd64.whl | CPython 3.6 | CPython 3.6 pymalloc | Windows x86-64 | Details |
| pynuspell-1.0.0-cp36-cp36m-win32.whl | CPython 3.6 | CPython 3.6 pymalloc | Windows x86-32 | Details |
| pynuspell-1.0.0-cp36-cp36m-manylinux2014_x86_64.whl | CPython 3.6 | CPython 3.6 pymalloc | Linux glibc 2.17+ x86-64 | Details |
| pynuspell-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl | CPython 3.6 | CPython 3.6 pymalloc | macOS 10.9+ x86-64 | Details |
Total release size:196.6 MB
Release files / pynuspell-1.0.0-cp39-cp39-win_amd64.whl
| Download URL | pynuspell-1.0.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 12.4 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5872a3a3bc482c4d8e7fde41a751a2904b40663d0a99ce5e649174f5a3b6afb2
|
|
BLAKE2b-256 checksum How to use checksums |
a1a17dade250e54ad30262ee9585ec6645b41b9c1f3b99f94a4d26410ba07350
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp39-cp39-win32.whl
| Download URL | pynuspell-1.0.0-cp39-cp39-win32.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
b7b6ee6a8226f61a3c9d15aa1ae0adb3d13f67b52445f7e580fe8be681ad44a4
|
|
BLAKE2b-256 checksum How to use checksums |
1068a4542beed85dc69acbc70f0a6b175892066da6023691e83dc1885bccace1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp39-cp39-manylinux2014_x86_64.whl
| Download URL | pynuspell-1.0.0-cp39-cp39-manylinux2014_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
3270b63cb6211b67c1219d56349f1cd5b1204831f7b28c64e50330b4d7b0250a
|
|
BLAKE2b-256 checksum How to use checksums |
63dc6119702e5f804f45fb489cbf40aecf1567c135175da4e73cc566fa2a36b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | pynuspell-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
db2ab55d4c7e73f1adf710fefc46b55b011fab805a3290fe153b49b2a1334f2d
|
|
BLAKE2b-256 checksum How to use checksums |
2904100aa1f4ec696703a594acf034dbad67ec7c93f1b22ca1254aefe975a506
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp38-cp38-win_amd64.whl
| Download URL | pynuspell-1.0.0-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 12.4 MB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
85d69fad13df7376989c7be4ae8786cd36b3aa1a76478ec3b8680ea29bb1fc6b
|
|
BLAKE2b-256 checksum How to use checksums |
e9a4f095be99510313710ddb3b4105ae62a22170245858b0dcbeb32a9bb56ab3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp38-cp38-win32.whl
| Download URL | pynuspell-1.0.0-cp38-cp38-win32.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.8 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
11af49a7c2e66acc048cdac6e5f807478b954977be33f277293230fafde13d61
|
|
BLAKE2b-256 checksum How to use checksums |
04857b56a01252269644c1560cd417308f1f08a9bbf15c1b934b8a2ec2706333
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp38-cp38-manylinux2014_x86_64.whl
| Download URL | pynuspell-1.0.0-cp38-cp38-manylinux2014_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8e37169e666e0718f8d8ad060de66c083fcd1868c9913d05a9e7474674f040da
|
|
BLAKE2b-256 checksum How to use checksums |
600ebb6fa297832c0a0e251dd40e1856bfb70e8ed0a6ad07ffbccc95c1020854
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl
| Download URL | pynuspell-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.8 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
60fd0026c35a6d5cdd943e47c52b62665a0ed8d099a188e721cc3a42297396d9
|
|
BLAKE2b-256 checksum How to use checksums |
9698902fcbe197f6734687c9e046c796bdfb2c4da097ff2ef7c041ba05c1d932
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp37-cp37m-win_amd64.whl
| Download URL | pynuspell-1.0.0-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 12.4 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fd64d53630a8e9ea814fca9f017ad2bcfaf5dfe573c63803705b002476a2565b
|
|
BLAKE2b-256 checksum How to use checksums |
188211f9861c3ee988d80fcf10651983210f960ed7e554f66553271b2ae05d4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp37-cp37m-win32.whl
| Download URL | pynuspell-1.0.0-cp37-cp37m-win32.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-32 |
|
SHA-256 checksum How to use checksums |
467e50e3e0bad9a9bb2520acf8a67b7e852c6ed99d9bf11d5f4b4f006dc90100
|
|
BLAKE2b-256 checksum How to use checksums |
ef2d1033d01422ce8acfd038347706f58c12ff0580c1258979aad625e85a7257
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp37-cp37m-manylinux2014_x86_64.whl
| Download URL | pynuspell-1.0.0-cp37-cp37m-manylinux2014_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
cefe8b8a9b03982b5af722e2407fb61b2e21ea104e888161f60a3b3db50746fb
|
|
BLAKE2b-256 checksum How to use checksums |
1caa2596ced89bb6a9559f3c3bc22619c0188d66b4e2353b7d9f94f2e2b8cd89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
| Download URL | pynuspell-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
db250b8cc062f8dc92ba02f4dd1fb7d7297b89fe309a8b750af6c2dc9691af98
|
|
BLAKE2b-256 checksum How to use checksums |
5c1413305777facce246c58766e9fb0dec86ab45e1d1fdaa21f1d44dc040961f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp36-cp36m-win_amd64.whl
| Download URL | pynuspell-1.0.0-cp36-cp36m-win_amd64.whl |
|---|---|
| Size | 12.4 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ccd5b6799eae91a5cfd7aac76a828bdc8da69479500618e5b10f63d00fd3ea71
|
|
BLAKE2b-256 checksum How to use checksums |
6a3e9a11413fd0b8af664445e030c9cde23db03b29e4ec8e7aaf223a5cacc99a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp36-cp36m-win32.whl
| Download URL | pynuspell-1.0.0-cp36-cp36m-win32.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Windows x86-32 |
|
SHA-256 checksum How to use checksums |
987d379cf945c032215af56a345338836c92b893f7a760688c120b9d7f9ba7c7
|
|
BLAKE2b-256 checksum How to use checksums |
3f0c9a3544a4a6cf83b88ddad4c7849258841bd311816cd5807d388e8921df98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp36-cp36m-manylinux2014_x86_64.whl
| Download URL | pynuspell-1.0.0-cp36-cp36m-manylinux2014_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d6b6939e77f3ad33b69656d7786246e46ad97c3a1085509acca19ca9a6ed5340
|
|
BLAKE2b-256 checksum How to use checksums |
bcf6260224a5c5d36a6a6dca40f78cce919bd9f7ae315fb06d7767117195f02b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pynuspell-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
| Download URL | pynuspell-1.0.0-cp36-cp36m-macosx_10_9_x86_64.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
786f7a5adbe442650c46d39ce313bd35e65dacd59eee29245581c8d2629674b7
|
|
BLAKE2b-256 checksum How to use checksums |
8911f1656ec3553657fd20a87c75cae17b102e6ad4aa93194fd9c5b58ebb9faf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|