Python language support for Pulsar-edit (and Atom), powered by the Python LSP server.
The Atom IDE-Python package has had a convoluted history, unfortunately the fall of Atom and rise of Pulsar-edit has resulted in a lot of packages no longer being maintained. The original version of the gives a "cannot be activated" error on the final release versions of Atom and all versions of Pulsar.
In this fork, the code supporting the debugger feature have been removed (I don't think the debugger was functioning anyway). It now installs and functions properly in the latest versions of Pulsar.
The pulsar-ide-python
package requires either Pulsar-edit or Atom 1.60+
, a Python language server, and the atom-ide-base
package to expose the functionality within Pulsar/Atom.
Please note that atom-ide-ui
is now deprecated, therefore, you must use the atom-ide-base
packages supplied from atom-ide-community
as mentioned above.
It is also advised to use the pylsp
language server for Python, instead of the similarly names pyls
language server, which is now deprecated.
- Jedi for Completions, Definitions, Hover, References, Signature Help, and Symbols
- Rope for Completions and renaming
- Pyflakes linter to detect various errors
- McCabe linter for complexity checking
- pycodestyle linter for style checking
- Pylint linter to detect various errors
- Flake8 linter to detect various errors
- pydocstyle linter for docstring style checking
- autopep8 for code formatting (preferred over YAPF)
- YAPF for code formatting
Install the language server (0.29.0 or newer) with:
python -m pip install 'python-lsp-server[all]'
This command will install the language server and all supported feature providers, which can be enabled or disabled in the settings. Checkout the official installation instructions on how to install only the providers you need.
You can verify that everything is correctly installed by running python -m pylsp --help
from the command line.
It should return
usage: pylsp [-h] [--tcp] [--ws] [--host HOST] [--port PORT] [--check-parent-process] [--log-config LOG_CONFIG | --log-file LOG_FILE] [-v] [-V]
Python Language Server
...
If you have installed pylsp
using a non default installation of Python, you can add modify the Python Executable config in the ide-python
settings.
Install ide-python
and atom-ide-base
from Install in Pulsar's settings or run:
ppm install atom-ide-base
ppm install pulsar-ide-python
Configuration is loaded from zero or more configuration sources.
pycodestyle
: discovered in~/.config/pycodestyle
,setup.cfg
,tox.ini
andpycodestyle.cfg
flake8
: discovered in~/.config/flake8
,setup.cfg
,tox.ini
andflake8.cfg
Overall configuration is computed first from user configuration (in home directory), overridden by configuration in the ide-python
settings, and then overridden by configuration discovered in the current project.
Always feel free to help out! Whether it's filing bugs and feature requests or working on some of the open issues.
MIT License. See the license for more details.