Skip to content

mjrodgers/pulsar-ide-python

 
 

Repository files navigation

pulsar-IDE-python package

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.

ide-python

Requirements

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.

Important

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.

Feature Providers

  • 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

Installation

Language Server

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.

Pulsar Package

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

Configuration is loaded from zero or more configuration sources.

  • pycodestyle: discovered in ~/.config/pycodestyle, setup.cfg, tox.ini and pycodestyle.cfg
  • flake8: discovered in ~/.config/flake8, setup.cfg, tox.ini and flake8.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.

Contributing

Always feel free to help out! Whether it's filing bugs and feature requests or working on some of the open issues.

License

MIT License. See the license for more details.

About

Python language support for Atom-IDE :atom: 🐍

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%