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:

tool.correct(text) ‘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.

Metadata

Release files for language_tool_python 2.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for language_tool_python 2.0.3
File Size Uploaded Provenance Actions
language_tool_python-2.0.3.tar.gz 33.9 kB Without provenance Details for language_tool_python-2.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for language_tool_python 2.0.3
File Interpreter ABI Platform Actions
language_tool_python-2.0.3-py3-none-any.whl Python 3 none any Details for language_tool_python-2.0.3-py3-none-any.whl

Total release size: 63.9 kB

Release files / language_tool_python-2.0.3.tar.gz

Download URL language_tool_python-2.0.3.tar.gz
Size 33.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e725a4fb409d5c575e98d57cbf933bcd5f99d7f33921fb3d3172dab287f0b0bd
BLAKE2b-256 checksum
How to use checksums
45a162c08d5d87b60b8d31c215e2a3e7ee5c20c4964fcf255ef244a191730424
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / language_tool_python-2.0.3-py3-none-any.whl

Download URL language_tool_python-2.0.3-py3-none-any.whl
Size 29.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc0d6e3d10cfb5a52ece21c30cac13eaf1453ade70219d4fa8641fedb6450d01
BLAKE2b-256 checksum
How to use checksums
6ed156c691eea1b2128010c0ab6f08ae630d2a6a1afed26754e943b86706224c
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for language_tool_python 2.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.3 This release

2 release files No provenance

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