# palantir/python-language-server

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/palantir-python-language-server).**

2,692 stars · 291 forks · Python · MIT

## Links

- GitHub: https://github.com/palantir/python-language-server
- awesome-repositories: https://awesome-repositories.com/repository/palantir-python-language-server.md

## Topics

`octo-correct-managed`

## Description

The Python Language Server is a backend engine that provides code intelligence, autocompletion, and diagnostics for Python projects. By implementing the standardized Language Server Protocol, it enables consistent development features such as definition navigation, signature help, and documentation lookups across various text editors and integrated development environments.

The project functions as a modular framework that utilizes a plugin-based architecture to support third-party extensions. This design allows for the dynamic injection of specialized capabilities, including custom type checking, import sorting, and advanced code formatting, which can be tailored to specific project requirements through local configuration files.

The server manages analysis tasks through a multi-process orchestration model, allowing it to handle concurrent operations and maintain consistent code quality across different workspaces. It performs static source analysis to detect syntax errors and style violations, providing an automated foundation for linting and source code cleanup.

## Tags

### User Interface & Experience

- [Python Autocomplete Engines](https://awesome-repositories.com/f/user-interface-experience/autocomplete-suggestion-engines/code-autocomplete-engines/python-autocomplete-engines.md) — Connects code editors to a backend engine to provide advanced Python-specific code intelligence and navigation.

### Development Tools & Productivity

- [Language Server Protocol Implementations](https://awesome-repositories.com/f/development-tools-productivity/language-server-protocol-implementations.md) — Implements the Language Server Protocol to provide editor-agnostic code intelligence and diagnostics.
- [Static Source Analysis](https://awesome-repositories.com/f/development-tools-productivity/static-source-analysis.md) — Performs static source analysis to provide intelligent features like definition navigation and diagnostic error reporting without code execution.
- [Language Server Protocol Clients](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-ide-extensions/language-server-protocol-clients.md) — Delivers IDE features like autocompletion and signature help by implementing the standardized Language Server Protocol. ([source](https://github.com/palantir/python-language-server/blob/develop/README.rst))
- [Cross-Editor Workflows](https://awesome-repositories.com/f/development-tools-productivity/cross-editor-workflows.md) — Standardizes development experiences across various text editors and IDEs using the Language Server Protocol.
- [Python Development Tools](https://awesome-repositories.com/f/development-tools-productivity/python-development-tools.md) — Provides a backend engine for advanced code navigation, linting, and formatting within Python development environments.

### Networking & Communication

- [JSON Message Exchanges](https://awesome-repositories.com/f/networking-communication/message-passing/json-message-exchanges.md) — Implements JSON-RPC over standard input and output to facilitate structured communication between editors and the analysis engine.
- [Independent Server Instance Hosting](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-proxying-tools/network-proxy-management/multi-instance-server-configurations/independent-server-instance-hosting.md) — Orchestrates multiple independent server instances to handle concurrent analysis tasks for isolated project environments.

### Software Engineering & Architecture

- [Plugin-Based Extensibility](https://awesome-repositories.com/f/software-engineering-architecture/plugin-based-extensibility.md) — Supports a modular plugin architecture for dynamically injecting custom analysis, formatting, and linting capabilities.
- [Language Support Plugins](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures/language-support-plugins.md) — Enables third-party extensions to add specialized functionality like type checking and import sorting to the server. ([source](https://github.com/palantir/python-language-server/blob/develop/README.rst))
- [Python Analyzers](https://awesome-repositories.com/f/software-engineering-architecture/static-code-analyzers/python-analyzers.md) — Functions as a modular analyzer supporting third-party extensions for Python-specific code quality enforcement.

### Part of an Awesome List

- [Code Analysis and Linting](https://awesome-repositories.com/f/awesome-lists/devtools/code-analysis-and-linting.md) — Automates the detection of syntax errors and style violations to maintain consistent code quality.
- [Code Formatting and Linting](https://awesome-repositories.com/f/awesome-lists/devtools/code-formatting-and-linting.md) — Automates code linting, style enforcement, and import sorting through integrated plugins. ([source](https://github.com/palantir/python-language-server#readme))
