🐍 python-lsp
Typage statique et navigation précise dans le code Python grâce à Pyright, le moteur de Pylance.
GitHub Copilot CLI Claude Code Agent Plugins Licence
Ce plugin branche le serveur de langage Pyright sur votre agent IA. Au lieu de deviner la structure du code par recherche textuelle, l'agent interroge le serveur comme le ferait un IDE : résultats plus précis, plus rapides et moins coûteux en contexte.
✨ Ce que votre agent sait faire avec ce plugin
| Capacité | Exemple de demande |
|---|---|
| 🎯 Aller à la définition | « Où est défini ce symbole ? » |
| 🔎 Trouver les références | « Qui appelle cette fonction ? » |
| ✏️ Renommer un symbole | « Renomme cette classe dans tout le projet » |
| 🩺 Diagnostics | « Corrige les erreurs signalées dans ce fichier » |
| 💬 Survol (types, documentation) | « Quel est le type de cette variable ? » |
| 🗺️ Symboles du document et de l'espace de travail | « Liste les classes de ce module » |
Les capacités réellement disponibles dépendent de ce que le serveur implémente.
🧩 Compatibilité
| Agent | Fichier de configuration LSP | Format |
|---|---|---|
| GitHub Copilot CLI | com.github.copilot/lsp.json | Agent Plugins 1.0 (plugin.json racine) |
| Claude Code | .lsp.json | Plugin Claude Code (.claude-plugin/plugin.json) |
Les deux fichiers décrivent le même serveur (pyright-langserver --stdio). Ils existent en double car les deux agents n'utilisent pas les mêmes noms de champs (fileExtensions pour Copilot, extensionToLanguage pour Claude).
📋 Prérequis
- Node.js 18+ (Pyright est distribué via npm) ou Python 3.8+ avec
pip
⚙️ 1. Installer le serveur de langage
Le plugin ne contient que la configuration : le serveur doit être installé sur votre machine et accessible dans le PATH.
npm (recommandé)
npm install -g pyright
pip / pipx
pipx install pyright # ou : pip install pyright
📦 2. Installer le plugin
GitHub Copilot CLI
copilot plugin marketplace add SebastienDegodez/copilot-instructions
copilot plugin install python-lsp@copilot-instructions-sebastien-degodez
Ou directement, sans passer par la marketplace :
copilot plugin install SebastienDegodez/copilot-instructions:plugins/python-lsp
Claude Code
/plugin marketplace add SebastienDegodez/copilot-instructions
/plugin install python-lsp@copilot-instructions-sebastien-degodez
✅ 3. Vérifier que tout fonctionne
Dans GitHub Copilot CLI :
/lsp list
/lsp test pyright
Dans Claude Code : ouvrez une nouvelle session dans votre projet, puis demandez par exemple « Trouve toutes les références de maFonction ». En cas de souci, claude --debug affiche les journaux de démarrage du serveur.
🗂️ Fichiers pris en charge
| Extension | Identifiant de langage |
|---|---|
.py | python |
.pyi | python |
.pyw | python |
💡 Conseils
- Déclarez votre environnement virtuel dans
pyrightconfig.json(ou[tool.pyright]danspyproject.toml) avecvenvPathetvenvpour que les imports tiers soient résolus. - Le niveau de vérification se règle avec
typeCheckingMode:off,basic,standardoustrict. - Vous préférez basedpyright ? Installez-le (
pipx install basedpyright) et remplacezpyright-langserverparbasedpyright-langserverdans les deux fichiers de configuration.
🛠️ Dépannage
| Symptôme | Solution |
|---|---|
/lsp test pyright échoue avec « command not found » | Le binaire n'est pas dans le PATH : relancez l'étape 1 et ouvrez un nouveau terminal. |
| Imports non résolus | Pyright n'utilise pas votre venv : configurez venvPath/venv ou activez le venv avant de lancer l'agent. |
Pour désactiver ce serveur dans un dépôt précis (Copilot CLI), ajoutez dans .github/lsp.json :
{ "lspServers": { "pyright": { "disabled": true } } }
📁 Structure du plugin
python-lsp/
├── plugin.json # Manifeste Agent Plugins 1.0 (Copilot CLI)
├── .claude-plugin/
│ └── plugin.json # Manifeste Claude Code
├── .lsp.json # Serveur LSP pour Claude Code
├── com.github.copilot/
│ └── lsp.json # Serveur LSP pour Copilot CLI
├── plugin.yaml # Métadonnées du site de documentation
└── README.md
🔗 Liens utiles
Auteur : Sebastien DEGODEZ · Licence : Apache 2.0