Zuban is a high-performance Python static type checker and language server written in Rust. It aims to deliver fast type checking while providing an alternative to established tools such as Mypy and Pyright.
The software offers two checking modes. Its default mode follows an approach similar to Pyright, while a separate mode provides extensive compatibility with Mypy, including its configuration files, command-line options and diagnostic messages. This makes it particularly interesting for developers who want faster type checking without completely changing their existing workflows.
Zuban also implements the Language Server Protocol, offering code completion, navigation and other features for supported editors. Its incremental analysis is designed to provide responsive feedback during development, particularly when working with larger Python projects.
This is free and open source software.
Key Features
- High-performance static type checking implemented in Rust, with upstream reporting substantial speed improvements over Mypy.
- Offers a Pyright-like checking mode and a separate Mypy-compatible mode.
- Supports Mypy configuration files, command-line arguments and diagnostic messages in compatibility mode.
- Provides a Language Server Protocol implementation with code completion, diagnostics, navigation, references, symbol renaming and hover information.
- Supports incremental analysis for responsive type checking during editing.
- Implements a broad range of Python typing features, including generics, type narrowing and structural typing.
- Can be invoked using zuban check, zuban mypy or the zmypy compatibility command.
Website: github.com/zubanls/zuban
Support:
Developer: David Halter
License: GNU Affero General Public License v3.0
Zuban is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| Python Linters | |
|---|---|
| Ruff | Extremely fast Python linter and code formatter |
| ty | Fast Python type checker |
| Mypy | Static type checker for Python |
| Bandit | Find security issues in Python code |
| Pylint | Static code analyser |
| wemake-python-styleguide | Flake8 plugin |
| pycodestyle | Check Python code against style conventions in PEP 8 |
| Pyflakes | Checks Python source files for errors |
| Vulture | Find dead code |
| Pyrefly | Fast type checker and language server |
| Flake8 | Wrapper around PyFlakes and pycodestyle |
| Beartype | Near-real-time hybrid runtime-static type-checker |
| Radon | Computes various metrics from Python code |
| Pyright | Full-featured, standards-compliant static type checker |
| cython-lint | Lint Cython files |
| basedpyright | Fork of pyright |
| Refurb | Modernize Python codebases |
| Pylama | Code audit tool for Python |
| Prospector | Brings together the functionality of other Python analysis tools |
| deptry | Check for dependency issues |
| Fixit | Highly configurable linting framework |
| Pyroma | Rates how well a Python project compiles |
| pydoclint | Python docstring linter |
| YALA | Yet Another Linter Aggregator |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.