Skip to main content

# language_tool_python: a grammar checker for Python 📝

This is a Python wrapper for [LanguageTool](languagetool.org). LanguageTool is open-source grammar tool, also known as the spellchecker for OpenOffice. This library allows you to make to detect grammar errors and spelling mistakes through a Python script or through a command-line interface.

## Local and Remote Servers

By default, language_tool_python will download a LanguageTool server .jar and run that in the background to detect grammar errors locally. However, LanguageTool also offers a [Public HTTP Proofreading API](http://wiki.languagetool.org/public-http-api) that is supported as well. Follow the link for rate limiting details. (Running locally won’t have the same restrictions.)

### Using language_tool_python locally

Local server is the default setting. To use this, just initialize a LanguageTool object:

> import language_tool_python > tool = language_tool_python.LanguageTool(‘en-US’) # use a local server (automatically set up), language English

### Using language_tool_python with the public LanguageTool remote server

There is also a built-in class for querying LanguageTool’s public servers. Initialize it like this:

> import language_tool_python > tool = language_tool_python.LanguageToolPublicAPI(‘es’) # use the public API, language Spanish

### Using language_tool_python with the another remote server

Finally, you’re able to pass in your own remote server as an argument to the LanguageTool class:

> import language_tool_python > tool = language_tool_python.LanguageTool(‘ca-ES’, remote_server=’https://language-tool-api.mywebsite.net’) # use a remote server API, language Catalan

## Example usage

From the interpreter:

> import language_tool_python > tool = language_tool_python.LanguageTool(‘en-US’) > text = u’A sentence with a error in the Hitchhiker’s Guide tot he Galaxy’ > matches = tool.check(text) > len(matches) 2

Check out some Match object attributes:

> matches[0].ruleId, matches[0].replacements (‘EN_A_VS_AN’, [‘an’]) > 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 …

Automatically apply suggestions to the text:

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

From the command line:

$ echo 'This are bad.' > example.txt

$ language_tool_python example.txt
example.txt:1:1: THIS_NNS[3]: Did you mean 'these'?

## Installation

To install via pip:

$ pip install --upgrade language_tool_python

To overwrite the host part of URL that is used to download LanguageTool-{version}.zip:

- SET language_tool_python_DOWNLOAD_HOST = [alternate URL]

## Prerequisites

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

### LanguageTool Version

As of April 2020, language_tool_python was forked from language-check and no longer supports LanguageTool versions lower than 4.0.

### Acknowledgements This is a fork of https://github.com/myint/language-check/ (which is a fork of https://bitbucket.org/spirit/language_tool) that produces more easily parsable results from the command-line.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

language_tool_python-2.0.2.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

language_tool_python-2.0.2-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file language_tool_python-2.0.2.tar.gz.

File metadata

  • Download URL: language_tool_python-2.0.2.tar.gz
  • Upload date:
  • Size: 33.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for language_tool_python-2.0.2.tar.gz
Algorithm Hash digest
SHA256 03b57b09fe4f4c5404ce65427b7836d185dfd1bed23d6ee71aa633fd6073a9ee
MD5 08a4183b52a60911d37cc69d92ac4fdf
BLAKE2b-256 7c30db87df616bdb5baf626fe69b833aaa385b67eb91313a83b96b4cd5e612b7

See more details on using hashes here.

File details

Details for the file language_tool_python-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: language_tool_python-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for language_tool_python-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8e89040fecfa1595e7e4422c21321874a3a6485c45192b457c8cd113a33e046e
MD5 e8c86540581861d865ce781d7ce74088
BLAKE2b-256 1cb3159ae16b2a990bca3b8c41820be9a8b683a96e14515c9587003ba499eaba

See more details on using hashes here.

Release history Release notifications | RSS feed

3.4.0

2 files

3.3.1

2 files

3.3.0

2 files

3.2.2

2 files

3.2.1

2 files

3.2.0

2 files

3.1.0

2 files

3.0.0

2 files

2.9.5

2 files

2.9.4

2 files

2.9.3

2 files

2.9.2

2 files

2.9.0

2 files

2.8.2

2 files

2.8.1

2 files

2.8

2 files

2.7.3

2 files

2.7.1

2 files

2.7.0

2 files

2.6.5

2 files

2.6.4

2 files

2.6.3

2 files

2.6.2

2 files

2.6.1

2 files

2.6.0

2 files

2.5.5

2 files

2.5.4

2 files

2.5.3

2 files

2.5.2

2 files

2.5.1

2 files

2.5.0

2 files

2.4.7

2 files

2.4.6

2 files

2.4.5

2 files

2.4.4

2 files

2.4.3

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.1

2 files

2.3.0

2 files

2.2.4

2 files

2.2.3

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.5

2 files

2.0.4

2 files

2.0.3

2 files

This release

2.0.2 This release

2 files

2.0.1

2 files

1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page