https://github.com/zubanls/zuban
Python Type Checker / Language Server
https://github.com/zubanls/zuban
autocompletion language-server-protocol mypy python static-analysis type-checking
Last synced: about 23 hours ago
JSON representation
Python Type Checker / Language Server
- Host: GitHub
- URL: https://github.com/zubanls/zuban
- Owner: zubanls
- License: other
- Created: 2024-10-14T15:53:54.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2026-03-24T15:31:22.000Z (9 days ago)
- Last Synced: 2026-03-25T20:10:39.946Z (8 days ago)
- Topics: autocompletion, language-server-protocol, mypy, python, static-analysis, type-checking
- Language: Rust
- Homepage: https://zubanls.com
- Size: 16.6 MB
- Stars: 916
- Watchers: 6
- Forks: 25
- Open Issues: 53
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yaml
- License: LICENSE
Awesome Lists containing this project
README
# Zuban
Zuban is a high-performance Python Language Server and type checker implemented
in Rust, by the author of [Jedi](https://github.com/davidhalter/jedi).
Zuban is 20–200× faster than Mypy, while using roughly half the memory and CPU
compared to Ty and Pyrefly. It offers both a PyRight-like mode and a
Mypy-compatible mode, which behaves just like Mypy; supporting the same config
files, command-line flags, and error messages.
Most important LSP features are supported. Features include diagnostics,
completions, goto, references, rename, hover and document highlights.
Zuban passes over 95% of Mypy’s relevant test suite and offers comprehensive
support for Python's [type system](https://htmlpreview.github.io/?https://github.com/python/typing/blob/main/conformance/results/results.html).
- [Documentation](https://docs.zubanls.com)
- [Website](https://zubanls.com)
- [Releases](https://pypi.org/project/zuban/)
## Installation / Usage
```
pip install zuban # Installation
zuban check # PyRight-like checking
zuban mypy # Mypy compatibility mode
zmypy # An alias for zuban mypy
zuban server # An LSP server
```
If you want Zuban to pick up your dependencies, please activate the virtual env first.
### Local Installation
You can install zuban **locally** by running:
```
pip install maturin
git clone --recursive https://github.com/zubanls/zuban
bash scripts/install-locally.sh
```
Note that your build will not properly work if submodules are not cloned.
## License
This project is dual licensed:
- **Open Source License**: [GNU Affero General Public License v3.0](LICENSE) (AGPL-3.0).
You may use, modify, and distribute this project under the terms of the AGPL-3.0.
- **Commercial License**: Available for organizations that prefer not to comply with the AGPL.
Contact info (at) zubanls.com for commercial licensing options.