Metadata-Version: 2.4
Name: param-lsp
Version: 0.0.1b20
Summary: Param Language Server Protocol
Project-URL: Homepage, https://github.com/hoxbro/param-lsp
Project-URL: Source, https://github.com/hoxbro/param-lsp
Author: Simon Hansen
Maintainer: Simon Hansen
License-Expression: MIT
License-File: LICENSE.txt
Keywords: holoviz,lsp,param
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Requires-Dist: lsprotocol
Requires-Dist: platformdirs
Requires-Dist: pygls>=2.0
Requires-Dist: tree-sitter-python>=0.25.0
Requires-Dist: tree-sitter>=0.25.0
Provides-Extra: jupyter
Requires-Dist: jupyterlab-lsp; extra == 'jupyter'
Description-Content-Type: text/markdown

# param-lsp

A Language Server Protocol (LSP) implementation for the HoloViz Param library, providing intelligent IDE support for Python codebases using Param.

## Demo

<!-- Video placeholder - replace with actual video URL or embed code -->

_Demo video coming soon_

## Features

- **Autocompletion**: Context-aware completions for Param class constructors, parameter definitions, and @param.depends decorators
- **Parameter checking**: Real-time validation of parameter types, bounds, and constraints with error diagnostics
- **Hover information**: Rich documentation for Param parameters including types, bounds, descriptions, and default values
- **Cross-file analysis**: Intelligent parameter inheritance tracking across local and external Param classes (Panel, HoloViews, etc.)

## Installation

```bash
pip install param-lsp
```

## Usage

Configure your IDE to use param-lsp as the language server for Python files containing Param code.

### VS Code

Install the param-lsp VS Code extension from the marketplace.

### Other IDEs

Configure your IDE's LSP client to use `param-lsp server` as the language server command.

## Development

```bash
# Clone the repository
git clone https://github.com/your-username/param-lsp.git
cd param-lsp

# Install dependencies
uv sync

# Run tests
pytest tests/

# Run linting
prek run --all-files
```
