Skip to main content

Spylls is an effort of porting prominent spellcheckers into clear, well-structured, well-documented Python. It is intended to be useful both as a library and as some kind of “reference (or investigatory, if you will) implementation”. Currently, only Hunspell is ported.

Hunspell is a long-living, complicated, almost undocumented piece of software, and it was our feeling that the significant part of human knowledge is somehow “locked” in a form of a large C++ project. That’s how Spylls was born: as an attempt to “unlock” it, via well-structured and well-documented implementation in a high-level language.

Follow the explanatory blog post series: on my blog, on Medium, or subscribe to my mailing list.

Usage as a library

$ pip install spylls
from spylls.hunspell import Dictionary

# en_US dictionary is distributed with spylls
# See docs to load other dictionaries
dictionary = Dictionary.from_files('en_US')

print(dictionary.lookup('spylls'))
# False
for suggestion in dictionary.suggest('spylls'):
    print(suggestion)
# spells
# spills

Documentation

Full documentation, including detailed source code/algorithms walkthrough, more detailed reasoning and some completeness reports, is available at https://spylls.readthedocs.io/.

License

MPL 2.0. See the bundled LICENSE file for more details. Note that being an “explanatory rewrite”, spylls should considered a derivative work of Hunspell, and so would be all of its ports/rewrites.

We are incredibly grateful to Hunspell’s original authors and current maintainers for all the hard work they’ve put into the most used spellchecker in the world!

Metadata

Release files for spylls 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spylls 0.1.7
File Size Uploaded
spylls-0.1.7.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for spylls 0.1.7
File Interpreter ABI Platform
spylls-0.1.7-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 3.0 MB

Release files / spylls-0.1.7.tar.gz

Download URL spylls-0.1.7.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
7045892dcbd324d3685f69c5a760063e78fb839913724ce18077cf0a0c93f220
BLAKE2b-256 checksum
How to use checksums
5cc219f34deb2dc1475dfeadafbd5666246041ee7578bb933e82de794f0a9283
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

Release files / spylls-0.1.7-py2.py3-none-any.whl

Download URL spylls-0.1.7-py2.py3-none-any.whl
Size 1.5 MB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
0c7fa4b66615f390bd12fd37939b85934c012309fd3cce8584844c54270b7776
BLAKE2b-256 checksum
How to use checksums
cd19ce6fcb4b86e188983bcfc1f84e4ac6f3038ca8d68b6d70a678cdc566f66c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page