A simple but quite powerful spellchecking library for GTK written in pure Python.

pip install pygtkspellcheck==5.0.3


Python GTK Spellcheck

PyPi Project Page Documentation

Python GTK Spellcheck is a simple but quite powerful spellchecking library for GTK written in pure Python. It's spellchecking component is based on Enchant and it supports both GTK 3 and 4 via PyGObject.

⚡️ News: Thanks to @cheywood, Python GTK Spellcheck now supports GTK 4! 🎉

🟢 Status: This project is mature, actively maintained, and open to contributions and co-maintainership.

✨ Features

  • spellchecking based on Enchant for GtkTextView
  • support for word, line, and multiline ignore regular expressions
  • support for both GTK 3 and 4 via PyGObject for Python 3
  • configurable extra word characters such as '
  • localized names of the available languages based on ISO-Codes
  • support for custom ignore tags and hot swap of GtkTextBuffer
  • support for Hunspell (LibreOffice) and Aspell (GNU) dictionaries


🚀 Getting Started

Python GTK Spellcheck is available from the Python Package Index:

pip install pygtkspellcheck

Depending on your distribution, you may also find Python GTK Spellcheck in your package manager. For instance, on Debian you may want to install the python3-gtkspellcheck package.

🥳 Showcase

Over time, several projects have used Python GTK Spellcheck or are still using it. Among those are:

  • Nested Editor: “Specialized editor for structured documents.”
  • Cherry Tree: “A hierarchical note taking application, […].”
  • Zim: “Zim is a graphical text editor used to maintain a collection of wiki pages.”
  • REMARKABLE: “The best markdown editor for Linux and Windows.”
  • RedNotebook: “RedNotebook is a modern journal.”
  • Reportbug: “Reports bugs in the Debian distribution.”
  • UberWriter: “UberWriter is a writing application for markdown.”
  • Gourmet: “Gourmet Recipe Manager is a manager, editor, and organizer for recipes.“

🔖 Versions

Version numbers follow Semantic Versioning. However, the update from 3 to 4 pertains only API incompatible changes in oxt_extract and not the spellchecking component. The update from 4 to 5 removed support for Python 2, GTK 2, pylocales, and the oxt_extract API. Otherwise, the API is still compatible with version 3.

📚 Documentation

The documentation is available at Read the Docs.

🏗 Contributing

We welcome all kinds of contributions! ❤️

For minor changes and bug fixes feel free to simply open a pull request. For major changes impacting the overall design of Python GTK Spellcheck, please first start a discussion outlining your idea.

By submitting a PR, you agree to license your contributions under “GPLv3 or later”.