Skip to main content

Mypy linter for the Python LSP Server

Project description

https://badge.fury.io/py/mypy-ls.svg https://github.com/Richardk2n/pyls-mypy/workflows/Python%20package/badge.svg?branch=master

This is a plugin for the Python LSP Server.

It, like mypy, requires Python 3.6 or newer.

Installation

Install into the same virtualenv as python-lsp-server itself.

pip install mypy-ls

Configuration

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 via dmypy run rather than mypy.

This uses the dmypy daemon and may dramatically improve the responsiveness of the pylsp server, however this currently does not work in live_mode. Enabling this disables live_mode, even for conflicting configs.

strict (default is False) refers to the strict option of mypy.

This option often is too strict to be useful.

Depending on your editor, the configuration (found in a file called mypy-ls.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
}

Developing

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.

Project details


Download files

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

Source Distribution

mypy-ls-0.4.1.tar.gz (7.8 kB view hashes)

Uploaded Source

Built Distribution

mypy_ls-0.4.1-py3-none-any.whl (7.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page