pygls (pronounced like “pie glass”) is a generic implementation of the Language Server Protocol written in the Python programming language. It allows you to write your own language server in just a few lines of code.
- cross-platform support
- TCP/IP and STDIO communication
- runs in asyncio event loop
- register LSP features and custom commands as:
- asynchronous functions (coroutines)
- synchronous functions
- functions that will be executed in separate thread
- thread management
- in-memory workspace with full and incremental document updates
- type-checking
- good test coverage
pygls works with Python 3.8+.
pages/getting_started pages/tutorial pages/user-guide pages/testing pages/migrating-to-v1 pages/reference