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 incremental document updates
- no third-party libraries
- good test coverage
pygls works with Python 3.5+.