Upgrade `dmypy` to a language server (LSP)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 20.6k
- Forks
- 3.3k
- PR merge metrics
- PR metrics pending
Description
Feature
I would like for dmypy to be a fully fledged language server. Obviously it would only support diagnostics (which would make this much simpler). But this would be very convenient from an editor point on view given the direction editor tooling is going.
Could probably use something like https://github.com/openlawlibrary/pygls to handle the low level details of LSP.
Pitch
Most editors and their plugins shell out and call mypy. But this can be quite slow on some projects since it needs to cold start every time (except for .mypy_cache).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the dmypy implementation and the LSP specification, then evaluate pygls as the proposed low-level library. Define how dmypy should expose diagnostics through LSP and identify the editor or protocol tests needed to verify the server. Done means dmypy operates as a language server that provides diagnostics to editors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100