Skip to main content

Kedro Language Server

Project description

kedro-lsp

A Language Server for the latest version(s) of Kedro. It provides features to enable IDE support for Kedro. For example, you can jump to dataset and parameter definition when constructing the pipeline.

Note: This is pre-alpha software.

Features

  • Provide dataset and parameter definition when constructing the pipeline.

Note: I need your help! If you think this project is a good idea, please submit features request via Github Issue.

Compatibility

Kedro Language Server aims to be compatible with Kedro 0.17.x and above. Currently it is restricted to 0.17.3 and above during pre-alpha phase.

Installation

pip install kedro-lsp

Usage

Standlone

usage: kedro-lsp [-h] [--version] [--tcp] [--host HOST] [--port PORT] [--log-file LOG_FILE] [-v]

Kedro Language Server: an LSP wrapper for Kedro.

optional arguments:
  -h, --help           show this help message and exit
  --version            display version information and exit
  --tcp                use TCP server instead of stdio
  --host HOST          host for TCP server (default 127.0.0.1)
  --port PORT          port for TCP server (default 2087)
  --log-file LOG_FILE  redirect logs to the given file instead of writing to stderr
  -v, --verbose        increase verbosity of log output

Examples:
    Run from stdio: kedro-lsp

Visual Studio Code

To use it with visual studio code, install the Kedro extension from Visual Studio Code Marketplace.

Pycharm

TBD

nvim

To use it with nvim, install lspconfig.

:Plug 'neovim/nvim-lspconfig'

Then add the following config to your vimrc.

lua <<EOF
local configs = require 'lspconfig/configs'

configs.kedro = {
    default_config = {
        cmd = {"kedro-lsp"};
        filetypes = {"python"};
        root_dir = function(fname)
            return vim.fn.getcwd()
        end;
    };
};
EOF

🗒️ Note, you must have the kedro-lsp installed and on your PATH

There are a number of plugins that will help setup lsp functionality in nvim, but if you want a bare minimum go-to-definition add this to your .vimrc as well.

nnoremap <leader>n <cmd>lua vim.lsp.buf.definition()<CR>

If you are having any issues with kedro-lsp not working in nvim try running :LspInfo or looking into your ~/.cache/nvim/lsp.log file.

Todos

  • Provide diagnostic when there is a typo in dataset or parameter name in the pipeline.
  • Be Kedro environment-aware

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kedro-lsp-0.2.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

kedro_lsp-0.2.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file kedro-lsp-0.2.0.tar.gz.

File metadata

  • Download URL: kedro-lsp-0.2.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-43-generic

File hashes

Hashes for kedro-lsp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d717a8e296387284c39eed33ee47c405f44cfd70f4fb7909dc238229b4e2a9b4
MD5 2e5370b7340fdd4c17c32b94039fb2c0
BLAKE2b-256 b27a0897e3221a7288812faf0d25f11fbb7b273eff7ed77e73611d070a73b173

See more details on using hashes here.

File details

Details for the file kedro_lsp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: kedro_lsp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-43-generic

File hashes

Hashes for kedro_lsp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c5a392c863d8b64d4a6098d45eaf1f75eec4c4d2808c13701ff814e8f1e010c
MD5 7162403d19e45bf1a86b59c40a445041
BLAKE2b-256 9476ddbabb664d5d10ee9dfa8b67c7f61829ba3c3a51cd602e58226120878b8f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page