Skip to main content

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

Metadata

Release files for kedro-lsp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kedro-lsp 0.2.0
File Size Uploaded Provenance Actions
kedro-lsp-0.2.0.tar.gz 6.5 kB Without provenance Details for kedro-lsp-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kedro-lsp 0.2.0
File Interpreter ABI Platform Actions
kedro_lsp-0.2.0-py3-none-any.whl Python 3 none any Details for kedro_lsp-0.2.0-py3-none-any.whl

Total release size: 15.1 kB

Release files / kedro-lsp-0.2.0.tar.gz

Download URL kedro-lsp-0.2.0.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d717a8e296387284c39eed33ee47c405f44cfd70f4fb7909dc238229b4e2a9b4
BLAKE2b-256 checksum
How to use checksums
b27a0897e3221a7288812faf0d25f11fbb7b273eff7ed77e73611d070a73b173
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-43-generic

Release files / kedro_lsp-0.2.0-py3-none-any.whl

Download URL kedro_lsp-0.2.0-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c5a392c863d8b64d4a6098d45eaf1f75eec4c4d2808c13701ff814e8f1e010c
BLAKE2b-256 checksum
How to use checksums
9476ddbabb664d5d10ee9dfa8b67c7f61829ba3c3a51cd602e58226120878b8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-43-generic

Security for kedro-lsp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page