Nova

Extensions


Readme

Serpens for Nova

Full featured Python Language Server plugin (implements PyLS) for Nova, supports Jedi Autocomplete, PyFlakes, PyLint, and more.

Installation

  1. Install the LSP server and its dependencies using:

(Preferably in a virtual environment if you want to keep things clean on your machine)

pip install 'python-lsp-server[all]'
  1. (Optional) Install Python Language Server plugins and enable them from settings:
pip install pyls-pluginname

For example:

pip install pyls-flake8
  1. Enable the plugins you want to use in the Preferences of the Serpens extension.

Features

  • Real time Linting (Pyflakes):

  • Hover actions on Functions and Modules:

  • PyCodeStyle and PyDocStyle hints:

  • Autocomplete using Jedi:

License

Serpens is released under the MIT license. See LICENSE.md for details.

Why "Serpens"?

It's the name of the Constellation of the Serpent. It's a play on words with Python (a serpent) and Nova (an astronomical object).

Contact

Guillaume Algis (@guillaumealgis@fosstodon.org)


Changelog

Unreleased

Enhancements
  • None.
Bug Fixes
  • None.

2.0.0 (2022-11-19)

Enhancements

1.1.0 (2020-11-03)

Enhancements
  • Automatically reload extension on preference changes (WIP)
  • Add quick toggle to enable and disable line length checks (E501) with PyCodeStyle.
Bug Fixes
  • Minor bug fixes in Jedi workspace environment override.

1.0.3 (2020-11-02)

Enhancements
  • Add option to enable logging (Disabled by default)
  • Add option to override Jedi environment at the workspace level.

1.0.2 (2020-10-22)

Enhancements
  • Update Readme
  • Preparation for Nova 2.0 update

1.0.1 (2020-10-15)

Enhancements
  • Update Known bugs

1.0.0 (2020-10-15)

Enhancements
  • Initial Public Release
  • Preferences Updated

0.0.2 (2020-10-15)

Enhancements
  • Preferences Update
  • Comma separated string parser added

0.0.1 (2020-10-12)

Enhancements
  • Pre Release

License

Copyright 2022 Guillaume Algis

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Forked from https://github.com/mmshivesh/Python-Nova.novaextension, under the MIT License, on 2022-11-19.