Skip to content

language_tool_python: Python wrapper for LanguageTool

language tool python on pypiDocumentation StatusTest with PyTestCoverage StatusDownloadsLicense: GPL v3Contributions Welcome

language_tool_python is a Python wrapper for LanguageTool, a free, multilingual, non-AI, open-source grammar, style, and spell checker. This python wrapper lets you detect and fix errors from a Python script or from the command line, against a local Java server, the public LanguageTool API, or your own remote server.

Demo

Requirements

  • Python >=3.10 (tested up to 3.15)
  • Java >=17 to run a local LanguageTool server (default download: 6.8). See the installation docs for full Java version details.

Installation

pip install --upgrade language_tool_python

Quick Start

Local server

importlanguage_tool_pythonwithlanguage_tool_python.LanguageTool("en-US") astool:
matches=tool.check("A sentence with a error in the Hitchhiker's Guide tot he Galaxy")
print(len(matches))
# → 2print(matches[0].message)
# → 'Use "an" instead of "a" if the following word starts with a vowel sound'print(matches[0].replacements)
# → ['an']print(matches[0].offset)
# → 16

Public LanguageTool API

importlanguage_tool_pythonwithlanguage_tool_python.LanguageToolPublicAPI("en-US") astool:
matches=tool.check("This are wrong.")
print(len(matches))
# → 2

Your own remote LanguageTool server

importlanguage_tool_pythonwithlanguage_tool_python.LanguageTool(
"en-US",
remote_server="http://my-languagetool-server:8081",
) astool:
print(tool.correct("I has a problem."))
# → I have a problem.

CLI

echo"This are bad."| language_tool_python -l en-US -
language_tool_python -l en-US --apply input.txt

For the full API reference, configuration options, CLI usage, and more examples, see the documentation.

Documentation

Versioning

This project follows Semantic Versioning (MAJOR.MINOR.PATCH):

  • PATCH - backwards-compatible bug fixes.
  • MINOR - new backwards-compatible features.
  • MAJOR - breaking changes. Deprecated APIs are removed at the next major version.

Versions are tagged in the git repository and can be found on PyPI.

Development

make install # Install dev dependencies
make format # Format code
make check # Lint / format / types
make test# Tests

License

GPL-3.0-only. See LICENSE.

Acknowledgements

This project is based on the original language-check project: https://github.com/myint/language-check/

About

a free, non-AI python grammar checker 📝✅

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

529 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages