pyLanguagetool¶
A python library and CLI for the LanguageTool JSON API.
LanguageTool is an open source spellchecking platform. It supports a large variety of languages and has advanced grammar support.
Installation¶
pyLanguagetool can be installed with pip/pipenv:
pip install pylanguagetool
# or via pipenv
pipenv install pylanguagetool
Basic Usage¶
# pipe text to pylanguagetool
echo "This is a example" | pylanguagetool
# read text from a file
pylanguagetool textfile.txt
# read text from stdin
pylanguagetool < textfile.txt
# read text from the systems clipboard
pylanguagetool -c # get text from system clipboard
All samples above will return a list of detected errors and possible replacements.
# Use "an" instead of 'a' if the following word starts with a vowel sound, e.g. 'an article', 'an hour'
# ✗ This is a example
# ^
# ✓ This is an example
Configuration¶
All LanguageTool API parameters can be set via command line arguments,
environment variables or a configuration file
(~/.config/pyLanguagetool.conf
) For more information about the
configuration file syntax, read the ConfigArgParse documentation.
Privacy¶
By default, pyLanguagetool sends all text via HTTPS to the LanguageTool
server (see their privacy policy). You can also set up your own server and
use it by changing the --api-url
attribute.
Parameters¶
$ pylanguagetool --help
usage: pylanguagetool [-h] [-V] [-v] [-a API_URL] [--no-color] [-c] [-s]
[-t {txt,html,md,markdown,rst,ipynb,json,xliff}] [-u] [-r]
[--rule-categories] [-l LANG] [-m MOTHER_TONGUE]
[-p PREFERRED_VARIANTS] [-e ENABLED_RULES]
[-d DISABLED_RULES]
[--enabled-categories ENABLED_CATEGORIES]
[--disabled-categories DISABLED_CATEGORIES]
[--enabled-only] [--picky] [--pwl PWL]
[input file]
positional arguments:
input file input file
options:
-h, --help show this help message and exit
-V, --version print version and exit
-v, --verbose verbose output [env var: VERBOSE]
-a API_URL, --api-url API_URL
the URL of the v2 languagetool API, should end with
'/v2/' [env var: API_URL]
--no-color don't color output [env var: NO_COLOR]
-c, --clipboard get text from system clipboard [env var: CLIPBOARD]
-s, --single-line check every line on its own [env var: SINGLE_LINE]
-t {txt,html,md,markdown,rst,ipynb,json,xliff}, --input-type {txt,html,md,markdown,rst,ipynb,json,xliff}
if not plaintext [env var: INPUT_TYPE]
-u, --explain-rule print URLs with more information about rules [env var:
EXPLAIN_RULE]
-r, --rules show the matching rules [env var: RULES]
--rule-categories show the the categories of the matching rules [env var:
RULE_CATEGORIES]
-l LANG, --lang LANG A language code like en or en-US, or auto to guess the
language automatically (see preferredVariants below).
For languages with variants (English, German,
Portuguese) spell checking will only be activated when
you specify the variant, e.g. en-GB instead of just en.
[env var: TEXTLANG]
-m MOTHER_TONGUE, --mother-tongue MOTHER_TONGUE
A language code of the user's native language, enabling
false friends checks for some language pairs. [env var:
MOTHER__TONGUE]
-p PREFERRED_VARIANTS, --preferred-variants PREFERRED_VARIANTS
Comma-separated list of preferred language variants. The
language detector used with language=auto can detect
e.g. English, but it cannot decide whether British
English or American English is used. Thus this parameter
can be used to specify the preferred variants like en-GB
and de-AT. Only available with language=auto. [env var:
PREFERRED_VARIANTS]
-e ENABLED_RULES, --enabled-rules ENABLED_RULES
IDs of rules to be enabled, comma-separated [env var:
ENABLED_RULES]
-d DISABLED_RULES, --disabled-rules DISABLED_RULES
IDs of rules to be disabled, comma-separated [env var:
DISABLED_RULES]
--enabled-categories ENABLED_CATEGORIES
IDs of categories to be enabled, comma-separated [env
var: ENABLED_CATEGORIES]
--disabled-categories DISABLED_CATEGORIES
IDs of categories to be disabled, comma-separated [env
var: DISABLED_CATEGORIES]
--enabled-only enable only the rules and categories whose IDs are
specified with --enabled-rules or --enabled-categories
--picky if enabled, additional rules will be activated
--pwl PWL, --personal-word-list PWL
File name of personal dictionary. A private dictionary
can be used to add special words that would otherwise be
marked as spelling errors. [env var: PERSONAL_WORD_LIST]
Args that start with '--' can also be set in a config file
(~/.config/pyLanguagetool.conf). Config file syntax allows: key=value,
flag=true, stuff=[a,b,c] (for details, see syntax at
https://pypi.org/project/ConfigArgParse/). In general, command-line values
override environment variables which override config file values which override
defaults.
All Contents¶
- API Reference
- Changelog
- 0.10.1 (2024-07-20)
- 0.10.0 (2023-09-27)
- 0.9.2 (2021-10-05)
- 0.9.1 (2020-10-01)
- 0.9.0 (2020-01-23)
- 0.8.4 (2019-11-15)
- 0.8.3 (2019-09-20)
- 0.8.2 (2019-09-19)
- 0.8.1 (2019-09-19)
- 0.8.0 (2019-07-19)
- 0.7.1 (2019-06-14)
- 0.7.0 (2019-05-17)
- 0.6.3 (2019-01-19)
- 0.6.2 (2019-01-18)
- 0.6.1 (2018-02-28)
- 0.6.0 (2017-12-29)
- 0.5.1 (2017-10-27)
- 0.5.0 (2017-09-06)
- 0.4.3 (2017-05-24)
- 0.4.2 (2017-05-24)
- 0.4.1 (2017-01-28)
- 0.4.0 (2017-01-28)
- 0.3.1 (2017-01-25)
- 0.3.0 (2017-01-25)
- 0.2.1 (2017-01-24)
- 0.2.0 (2017-01-23)
- 0.1.1 (2017-01-23)
- 0.0.5 (2017-01-21)
- 0.0.4 (2017-01-20)
- 0.0.3 (2017-01-20)
- 0.0.2 (2017-01-19)