This is a plugin for the Python LSP Server.
It, like mypy, requires Python 3.6 or newer.
Install into the same virtualenv as python-lsp-server itself.
pip install pylsp-mypy
live_mode
(default is True) provides type checking as you type.- This writes to a tempfile every time a check is done. Turning off
live_mode
means you must save your changes for mypy diagnostics to update correctly. dmypy
(default is False) executes viadmypy run
rather thanmypy
.- This uses the
dmypy
daemon and may dramatically improve the responsiveness of thepylsp
server, however this currently does not work inlive_mode
. Enabling this disableslive_mode
, even for conflicting configs. strict
(default is False) refers to thestrict
option ofmypy
.- This option often is too strict to be useful.
Depending on your editor, the configuration (found in a file called pylsp-mypy.cfg in your workspace or a parent directory) should be roughly like this for a standard configuration:
{ "enabled": True, "live_mode": True, "strict": False }
With dmypy
enabled your config should look like this:
{ "enabled": True, "live_mode": False, "dmypy": True, "strict": False }
Install development dependencies with (you might want to create a virtualenv first):
pip install -r requirements.txt
The project is formatted with black. You can either configure your IDE to automatically format code with it, run it manually (black .
) or rely on pre-commit (see below) to format files on git commit.
The project uses two rst tests in order to assure uploadability to pypi: rst-linter as a pre-commit hook and rstcheck in a GitHub workflow. This does not catch all errors.
This project uses pre-commit to enforce code-quality. After cloning the repository install the pre-commit hooks with:
pre-commit install
After that pre-commit will run all defined hooks on every git commit
and keep you from committing if there are any errors.