skillfed

pyenchant

Python bindings for the Enchant spellchecking system

pyenchant v3.3.0 4.0M downloads/30d#2,401 on PyPI625
Copyleft license LGPL Active released

What it is and what it does

PyEnchant is a Python wrapper around the Enchant spellchecking library, which has been in active development since 2006. It lets you check spelling and get correction suggestions for words, supporting multiple languages and multiple underlying spellchecking engines. The package itself is lightweight with no Python runtime dependencies—it uses ctypes to call the native Enchant library.

The main gotcha is that PyEnchant is not self-contained: installing it via pip does not automatically provide the Enchant library itself. You must install Enchant separately on your system before PyEnchant can work. Once Enchant is present, PyEnchant gives you a straightforward Python API to create dictionary objects, check words, and retrieve suggestions.

Use it for:

  • Build a spell-checker for user-submitted text in a web application or content management system.
  • Validate spelling in bulk text processing pipelines before publishing or archiving documents.
  • Implement multilingual spell-checking in desktop or CLI tools that need to support many languages.
  • Add spell-check suggestions to a text editor or IDE plugin.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyEnchant provides Python bindings to the Enchant spellchecking library, enabling spell-checking and correction suggestions across multiple languages and dictionary backends.

Yes, if you already have Enchant installed on your system or are willing to install it separately. PyEnchant is stable, actively maintained, has no Python dependencies, and is widely used. The main friction is the external system dependency—plan for that upfront. No known security vulnerabilities.

Install

pyenchant on PyPI

pip

pip install pyenchant

uv

uv add pyenchant

poetry

poetry add pyenchant

Installing pyenchant

Before you install

Low install friction with a pure-wheel distribution. Active maintenance with a recent commit on 2026-06-04. However, the documentation explicitly warns that PyEnchant will not work out of the box after installation—the underlying Enchant library must be installed separately on the system.

License in practice

Licensed under LGPL (copyleft). This means any modifications to PyEnchant itself must be released under compatible terms, though applications using it as a library face fewer restrictions.

Quickstart

pip install pyenchant

import pyenchant
# Create a dictionary and check spelling
checker = pyenchant.Dict("en_US")
print(checker.check("word"))
print(checker.suggest("misspeled"))

The Enchant spellchecking library must be installed on the system separately; PyEnchant is only the Python binding and will not function without it.

Verify before relying

  • Which system package managers and versions of Enchant are officially supported or tested.
  • Whether all popular spellchecking backends (ispell, aspell, MySpell) are equally well-supported through Enchant on modern systems.
  • Performance characteristics for large-scale spell-checking workloads.

Package facts

License LGPL (copyleft)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 334 days since the last release
Last repo commit
First released
Downloads 4,009,601/month — #2,401 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyenchant-3.3.0-py3-none-any.whl

Keywords: spelling, spellcheck, enchant

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: LibrariesTopic :: Text Processing :: Linguistic

Tags

spell check pythonspellchecker libraryenchant bindingspython spelling correctionmultilingual spell checking
spell-checkingmultilingual

More Libraries packages