Skip to main content

Black plugin for the Python LSP Server

Project description

python-lsp-black

PyPI Code style: black Python

Black plugin for the Python LSP Server.

Install

In the same virtualenv as python-lsp-server:

pip install python-lsp-black

Usage

This plugin will disable the yapf and autopep8 plugins if installed.

  • python-lsp-black can either format an entire file or just the selected text.
  • The code will only be formatted if it is syntactically valid Python.
  • Text selections are treated as if they were a separate Python file. Unfortunately this means you can't format an indented block of code.
  • python-lsp-black will use your project's pyproject.toml if it has one.
  • python-lsp-black only officially supports the latest stable version of black. An effort is made to keep backwards-compatibility but older black versions will not be actively tested.
  • The plugin can cache the black configuration that applies to each Python file, this improves performance of the plugin. When configuration caching is enabled any changes to black's configuration will need the LSP server to be restarted. Configuration caching can be disabled with the cache_config option, see Configuration below.

Configuration

The plugin follows python-lsp-server's configuration. These are the valid configuration keys:

  • pylsp.plugins.black.enabled: boolean to enable/disable the plugin.
  • pylsp.plugins.black.cache_config: a boolean to enable black configuration caching (see Usage). false by default.
  • pylsp.plugins.black.line_length: an integer that maps to black's max-line-length setting. Defaults to 88 (same as black's default). This can also be set through black's configuration files, which should be preferred for multi-user projects.
  • pylsp.plugins.black.preview: a boolean to enable or disable black's --preview setting.

Development

To install the project for development you need to specify the dev optional dependencies:

python -m venv .venv
. .venv/bin/activate
pip install -e .[dev]

This project uses pre-commit hooks to control code quality, install them to run automatically when creating a git commit, thus avoiding seeing errors when you create a pull request:

pre-commit install

To run tests:

make test

To run linters:

make lint  # just a shortcut to pre-commit run -a
make <linter_name>  # black, flake8, isort, mypy

To upgrade the version of the pre-commit hooks:

pre-commit autoupdate
# check and git commit changes to .pre-commit-config.yaml

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

python-lsp-black-1.3.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

python_lsp_black-1.3.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file python-lsp-black-1.3.0.tar.gz.

File metadata

  • Download URL: python-lsp-black-1.3.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for python-lsp-black-1.3.0.tar.gz
Algorithm Hash digest
SHA256 5aa257e9e7b7e5a2316ef2a9fbcd242e82e0f695bf1622e31c0bf5cd69e6113f
MD5 b0d901bcfdd7b2bb93e6f85b18a9b9f6
BLAKE2b-256 ad1bf20e612a33f9dcc2a0863a42ee62cc4f30ee724f1e7cc869b92c786c8ebd

See more details on using hashes here.

Provenance

File details

Details for the file python_lsp_black-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: python_lsp_black-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for python_lsp_black-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f583b4395d8d048885974095088ab81e36e501de369cc49a621a82473bb9070
MD5 58aa5661b91db56bc39955ad568ff214
BLAKE2b-256 b040a9d58ff8ed0fc202ea488675eba8179e4a895c408d4289c919f759122635

See more details on using hashes here.

Provenance

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