language_tool – LanguageTool through server mode

Example usage

>>> import language_tool
>>> lang_tool = language_tool.LanguageTool("en-US")
>>> text = "A sentence with a error in the Hitchhiker’s Guide tot he Galaxy"
>>> matches = lang_tool.check(text)
>>> len(matches)

Check out some Match object attributes:

>>> matches[0].fromy, matches[0].fromx
(0, 16)
>>> matches[0].ruleId, matches[0].replacements
('EN_A_VS_AN', ['an'])
>>> matches[1].fromy, matches[1].fromx
(0, 50)
>>> matches[1].ruleId, matches[1].replacements
('TOT_HE', ['to the'])

Print a Match object:

>>> print(matches[1])
Line 1, column 51, Rule ID: TOT_HE[1]
Message: Did you mean 'to the'?
Suggestion: to the
... with a error in the Hitchhiker’s Guide tot he Galaxy

Automatically apply suggestions to the text:

>>> language_tool.correct(text, matches)
'A sentence with an error in the Hitchhiker’s Guide to the Galaxy'


To install the package for Python 3, use:

$ ./ install

To install the package for Python 2, use:

$ python2 install

On Windows, you may use one of the MSI binary packages provided on the download page.


The installation process should take care of downloading LanguageTool (it may take a few minutes). Otherwise, you can manually download and unzip it into where the language_tool package resides.

LanguageTool requires Java 6 or later.