Registry / testing / pyspelling

pyspelling

JSON →
library2.12.1pypypi✓ verified 85d ago

PySpelling is a powerful spell checker for various text formats, including Markdown, reStructuredText, HTML, and Python source code. It acts as a wrapper for external spell checkers like Aspell or Hunspell, providing a unified configuration and reporting interface. Currently at version 2.12.1, it typically releases new versions every few months, often incorporating new Python version support, minor features, and bug fixes.

pip install pyspelling
INSTALL
IMPORT
SIG · PYSPELLING
P
pyspelling
testingpythonv2.12.1
Install
2.9s avg
Import
Disk
35MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v2.12.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 36MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 2.9s · import 0.000s · 37MB
35MB installed
● package 35MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

SpellChecker
from pyspelling import SpellChecker
from pyspelling import Pyspelling
Aspell
from pyspelling import Aspell
Hunspell
from pyspelling import Hunspell

Create a `.pyspelling.yml` configuration file and then run `pyspelling` from your terminal. This example checks Markdown files using Aspell and a custom wordlist. Ensure you have Aspell or Hunspell installed on your system.

echo "sources:\n - './*.md'\naspell:\n lang: en\n d: en_US\ndictionary:\n wordlists:\n - .pyspelling_wordlist.txt\n encoding: utf-8\n" > .pyspelling.yml echo "# My Document\n\nThis is a test with a mispelled word: misstake." > test.md # Run spell check pyspelling # Expected output (simplified, actual output depends on Aspell/Hunspell installation): # test.md:2: misstake
pyspelling --version
Debug
Known issues
breakingPython 3.6, 3.7, and 3.8 are no longer supported. Ensure your environment uses Python 3.9 or newer.
fix
Upgrade your Python environment to 3.9+ (e.g., Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14).
affects: 2.8, 2.9, 2.11
gotchaPySpelling requires an external spell checker like Aspell or Hunspell to be installed on your system. It does not provide its own spell checking engine.
fix
Install Aspell (e.g., `sudo apt-get install aspell aspell-en` on Debian/Ubuntu, `brew install aspell` on macOS) or Hunspell on your operating system.
affects: All versions
gotchaThe configuration file (`.pyspelling.yml`) must be valid YAML. Incorrect indentation or syntax can lead to parsing errors.
fix
Carefully review your `.pyspelling.yml` file for YAML syntax errors. Use a YAML linter if unsure.
affects: All versions
gotchaDictionary compilation can be slow for large custom dictionaries. Starting with 2.11, `--skip-dict-compile` can be used to skip recompilation if the dictionary exists and hasn't changed.
fix
Use `pyspelling --skip-dict-compile` to speed up subsequent runs when custom dictionaries are stable. Note that changes to a custom dictionary will be ignored with this option.
affects: >=2.11
Upgrade
Version history
2.12.1latest on PyPI · released Nov 26, 2025
Audit
Dependencies

No dependency data recorded yet.

Agent activity
10 hits · last 30 days
node
10
Resources
pyspelling — pip install pyspelling · libregistry