# pyls-spyder
[![Project License - MIT](https://img.shields.io/pypi/l/pyls-spyder.svg)](https://raw.githubusercontent.com/spyder-ide/pyls-spyder/master/LICENSE)
[![pypi version](https://img.shields.io/pypi/v/pyls-spyder.svg)](https://pypi.org/project/pyls-spyder/)
[![conda version](https://img.shields.io/conda/vn/conda-forge/pyls-spyder.svg)](https://www.anaconda.com/download/)
[![download count](https://img.shields.io/conda/dn/conda-forge/pyls-spyder.svg)](https://www.anaconda.com/download/)
[![Downloads](https://pepy.tech/badge/pyls-spyder)](https://pepy.tech/project/pyls-spyder)
[![PyPI status](https://img.shields.io/pypi/status/pyls-spyder.svg)](https://github.com/spyder-ide/pyls-spyder)
![PyLS-Spyder tests](https://github.com/spyder-ide/pyls-spyder/workflows/PyLS-Spyder%20tests/badge.svg)
*Copyright © 2020– Spyder Project Contributors*
## Overview
Spyder extensions for the [python-lsp-server](https://github.com/python-lsp/python-lsp-server) (pylsp). This package provides Spyder-specific extras for the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/specifications/specification-current/) (LSP) on Python, such as document symbol searching and others.
## Installing
To install pyls-spyder, you can use both conda or pip package managers:
```bash
# Using conda (Recommended)
conda install pyls-spyder -c spyder-ide
# Using pip
pip install pyls-spyder
```
## Dependencies
This package depends on the [python-lsp-server](https://github.com/python-lsp/python-lsp-server) to integrate the Spyder-specific extensions.
## Installing locally
To install and develop spyder-pyls locally, you will need to install the python-lsp-server:
```bash
# Using conda
conda install python-lsp-server
# Using pip
pip install python-lsp-server
```
Then, you can install the package locally using pip:
```bash
pip install -U -e .
```
## Running tests
We use pytest to run tests as it follows:
```bash
pytest -x -v pyls_spyder/tests
```
## Extended LSP calls
| LSP method | Spyder extensions |
|:-----------------------------:|:------------------------------------------------:|
| `textDocument/documentSymbol` | Find code cells `# %%` and block comments `# --` |
| `textDocument/foldingRange` | Return code cells `# %%` as code folding regions |
## Plugin configuration options
This plugin can be configured by using the key `pyls_spyder` when calling `workspace/didChangeConfiguration` on the pyls. Each configuration option is described below:
<table>
<thead>
<tr>
<th>LSP method</th>
<th>Configuration Key</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan=2><code>textDocument/documentSymbol</code></td>
<td><code>group_cells</code></td>
<td><code>bool</code></td>
<td>Enable/Disable code cell grouping according to the total number of leading percentages</td>
</tr>
<tr>
<td><code>enable_block_comments</code></td>
<td><code>bool</code></td>
<td>Enable/disable block comment detection</td>
</tr>
</tbody>
</table>
## Changelog
Please see our [CHANGELOG](https://github.com/spyder-ide/pyls-spyder/blob/master/CHANGELOG.md) file to learn more about our new features and improvements.
## Contribution guidelines
We follow PEP8 and PEP257 for all Python modules. We use MyPy type annotations for all functions and classes declared on this package. Feel free to send a PR or create an issue if you have any problem/question.
Raw data
{
"_id": null,
"home_page": "https://github.com/spyder-ide/pyls-spyder",
"name": "pyls-spyder",
"maintainer": "",
"docs_url": null,
"requires_python": ">= 3.6",
"maintainer_email": "",
"keywords": "PyLSP,Plugin",
"author": "Spyder Project Contributors",
"author_email": "spyder.python@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/94/e0/17ebfbc3cdd9d2bed54f4904672d8c766b5f48c930d699e20566061b6720/pyls-spyder-0.4.0.tar.gz",
"platform": "",
"description": "# pyls-spyder\n\n[![Project License - MIT](https://img.shields.io/pypi/l/pyls-spyder.svg)](https://raw.githubusercontent.com/spyder-ide/pyls-spyder/master/LICENSE)\n[![pypi version](https://img.shields.io/pypi/v/pyls-spyder.svg)](https://pypi.org/project/pyls-spyder/)\n[![conda version](https://img.shields.io/conda/vn/conda-forge/pyls-spyder.svg)](https://www.anaconda.com/download/)\n[![download count](https://img.shields.io/conda/dn/conda-forge/pyls-spyder.svg)](https://www.anaconda.com/download/)\n[![Downloads](https://pepy.tech/badge/pyls-spyder)](https://pepy.tech/project/pyls-spyder)\n[![PyPI status](https://img.shields.io/pypi/status/pyls-spyder.svg)](https://github.com/spyder-ide/pyls-spyder)\n![PyLS-Spyder tests](https://github.com/spyder-ide/pyls-spyder/workflows/PyLS-Spyder%20tests/badge.svg)\n\n*Copyright \u00a9 2020\u2013 Spyder Project Contributors*\n\n\n## Overview\nSpyder extensions for the [python-lsp-server](https://github.com/python-lsp/python-lsp-server) (pylsp). This package provides Spyder-specific extras for the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/specifications/specification-current/) (LSP) on Python, such as document symbol searching and others.\n\n\n## Installing\nTo install pyls-spyder, you can use both conda or pip package managers:\n\n```bash\n# Using conda (Recommended)\nconda install pyls-spyder -c spyder-ide\n\n# Using pip\npip install pyls-spyder\n```\n\n## Dependencies\nThis package depends on the [python-lsp-server](https://github.com/python-lsp/python-lsp-server) to integrate the Spyder-specific extensions.\n\n\n## Installing locally\nTo install and develop spyder-pyls locally, you will need to install the python-lsp-server:\n\n```bash\n# Using conda\nconda install python-lsp-server\n\n# Using pip\npip install python-lsp-server\n```\n\nThen, you can install the package locally using pip:\n\n```bash\npip install -U -e .\n```\n\n## Running tests\nWe use pytest to run tests as it follows:\n\n```bash\npytest -x -v pyls_spyder/tests\n```\n\n## Extended LSP calls\n\n| LSP method | Spyder extensions |\n|:-----------------------------:|:------------------------------------------------:|\n| `textDocument/documentSymbol` | Find code cells `# %%` and block comments `# --` |\n| `textDocument/foldingRange` | Return code cells `# %%` as code folding regions |\n\n## Plugin configuration options\nThis plugin can be configured by using the key `pyls_spyder` when calling `workspace/didChangeConfiguration` on the pyls. Each configuration option is described below:\n\n<table>\n <thead>\n <tr>\n <th>LSP method</th>\n <th>Configuration Key</th>\n <th>Type</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td rowspan=2><code>textDocument/documentSymbol</code></td>\n <td><code>group_cells</code></td>\n <td><code>bool</code></td>\n <td>Enable/Disable code cell grouping according to the total number of leading percentages</td>\n </tr>\n <tr>\n <td><code>enable_block_comments</code></td>\n <td><code>bool</code></td>\n <td>Enable/disable block comment detection</td>\n </tr>\n </tbody>\n</table>\n\n## Changelog\nPlease see our [CHANGELOG](https://github.com/spyder-ide/pyls-spyder/blob/master/CHANGELOG.md) file to learn more about our new features and improvements.\n\n\n## Contribution guidelines\nWe follow PEP8 and PEP257 for all Python modules. We use MyPy type annotations for all functions and classes declared on this package. Feel free to send a PR or create an issue if you have any problem/question.\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Spyder extensions for the python-lsp-server",
"version": "0.4.0",
"project_urls": {
"Homepage": "https://github.com/spyder-ide/pyls-spyder"
},
"split_keywords": [
"pylsp",
"plugin"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d026d0975972af1f18c3bb02ec5889191cc09ebb982bcbe45438d90ca763f4ec",
"md5": "670afc9fa3421e705f26e01d0ee5aa19",
"sha256": "1505d975f866a343d0554b6dab41b53717f4b4bc6df450dfd7d48f889fe450b9"
},
"downloads": -1,
"filename": "pyls_spyder-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "670afc9fa3421e705f26e01d0ee5aa19",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">= 3.6",
"size": 8111,
"upload_time": "2021-04-29T20:14:02",
"upload_time_iso_8601": "2021-04-29T20:14:02.291091Z",
"url": "https://files.pythonhosted.org/packages/d0/26/d0975972af1f18c3bb02ec5889191cc09ebb982bcbe45438d90ca763f4ec/pyls_spyder-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "94e017ebfbc3cdd9d2bed54f4904672d8c766b5f48c930d699e20566061b6720",
"md5": "dabb2a391935002ccf318c99c09bd1fc",
"sha256": "45a321c83f64267d82907492c55199fccabda45bc872dd23bf1efd08edac1b0b"
},
"downloads": -1,
"filename": "pyls-spyder-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "dabb2a391935002ccf318c99c09bd1fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 3.6",
"size": 7427,
"upload_time": "2021-04-29T20:14:03",
"upload_time_iso_8601": "2021-04-29T20:14:03.890482Z",
"url": "https://files.pythonhosted.org/packages/94/e0/17ebfbc3cdd9d2bed54f4904672d8c766b5f48c930d699e20566061b6720/pyls-spyder-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2021-04-29 20:14:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "spyder-ide",
"github_project": "pyls-spyder",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyls-spyder"
}