Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mmshivesh/Python-Nova.novaextension
Python Extension for Panic's Nova editor for macOS
https://github.com/mmshivesh/Python-Nova.novaextension
language-server language-server-protocol nova nova-editor preferences pyls python-language-server python3
Last synced: 13 days ago
JSON representation
Python Extension for Panic's Nova editor for macOS
- Host: GitHub
- URL: https://github.com/mmshivesh/Python-Nova.novaextension
- Owner: mmshivesh
- Created: 2020-10-12T09:03:57.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-03-07T20:53:10.000Z (over 2 years ago)
- Last Synced: 2024-08-01T19:57:27.670Z (3 months ago)
- Topics: language-server, language-server-protocol, nova, nova-editor, preferences, pyls, python-language-server, python3
- Language: JavaScript
- Homepage: https://extensions.panic.com/extensions/works.creativecode/works.creativecode.python-nova/
- Size: 8.92 MB
- Stars: 22
- Watchers: 5
- Forks: 6
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Python for Nova
![](https://img.shields.io/badge/dynamic/json?color=brightgreen&label=Latest%20Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Fmmshivesh%2FPython-Nova.novaextension%2Fmaster%2Fextension.json)
Full featured Python Language Server plugin (implements [PyLS](https://github.com/python-lsp/python-lsp-server)) for Nova, supports Jedi Autocomplete, PyFlakes, PyLint, YAPF, Rope, McCabe, PyDoc and CodeStyles.
Also supports all the Python Language Server plugins → `mypy`, `isort` and `black`
## Working Features
- [x] Auto-completion (including snippet fills-- Turn on `Include Function and Class Parameters`, Fixed in Nova 2.0)
- [x] Follow imports (Fixed in Nova 2.0)
- [x] Full Function hover tooltips with syntax highlighting
- [x] Module and function docstrings
- [x] PyDocStyle and PyCodeStyle flags
- [x] McCabe Cyclomatic Complexity
- [x] Automatic Preferences Reload on changes (Some preferences still need a full extension reload).## Installation
1. Install the LSP server and its dependencies using:
```bash
pip3 install 'python-lsp-server[all]'
```2. Enable required modules from settings.
3. (Optional) Install Python Language Server plugins and enable them from settings:
- `mypy` plugin: `pip3 install pyls-mypy`
- `isort` plugin: `pip3 install pyls-isort`
- `black` plugin: `pip3 install pyls-black`
## Features
- Real time Linting (Pyflakes):
![](https://raw.githubusercontent.com/mmshivesh/Python-Nova.novaextension/master/.github/images/realtimeLinting.png)
- Hover actions on Functions and Modules:
![](https://raw.githubusercontent.com/mmshivesh/Python-Nova.novaextension/master/.github/images/hover.png)
- PyCodeStyle and PyDocStyle hints:
![](https://raw.githubusercontent.com/mmshivesh/Python-Nova.novaextension/master/.github/images/doccode.gif)
- Autocomplete using Jedi:
![](https://raw.githubusercontent.com/mmshivesh/Python-Nova.novaextension/master/.github/images/autoComplete.gif)
## Contributing
I would be extremely grateful if you could lend a hand in the development of this extension. PRs with new features and fixes would be greatly appreciated. Also, feel free to open bug reports.