# Install zuban with Homebrew, Nix

Python language server and type checker, written in Rust. Version 0.9.0 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:zuban
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install zuban
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#zuban
```

  Evidence: nixpkgs package indexes: pkgs/by-name/zu/zuban/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:zuban
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/zuban>
- **Version:** 0.9.0
- **Source summary:** Python language server and type checker, written in Rust
- **Homepage:** <https://zubanls.com/>
- **Repository:** <https://github.com/zubanls/zuban>
- **Upstream docs:** <https://docs.zubanls.com/en/latest>
- **License:** AGPL-3.0-only
- **Source archive:** <https://github.com/zubanls/zuban/archive/refs/tags/v0.9.0.tar.gz>
- **Last updated:** 2026-06-25T11:05:51Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- zmypy (cli)
- zuban (cli)
- zmypy (alias)
- zuban (alias)

## Build dependencies

- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.9.0
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/zubanls/zuban
- Upstream latest detected: v0.9.0 (current)
## Project history and usage

Zuban is a Python type checker and Language Server Protocol implementation written in Rust by David Halter, the creator of Jedi. It aims to combine mypy-compatible checking with a fast Python language server.

### Project history

The ZubanLS homepage frames the project as a successor to lessons learned from Jedi. Halter says he created Jedi in 2012, then started over in 2020 to build ZubanLS in Rust after concluding that Jedi's architecture could not provide the performance needed for large projects.

Zuban became an open-source developer tool with a CLI and language server. Its README describes a high-performance Python language server and type checker, supporting diagnostics, completions, goto, references, rename, hover, document highlights, a Pyright-like default mode, and a mypy-compatible mode.

The documentation and changelog show rapid maturation through the 2025 beta and 2026 releases, especially around editor integration, sys.path handling, Django support, typed Python conformance, and mode selection between default and mypy-compatible behavior.

### Adoption history

Zuban's adoption niche is emerging rather than settled: it enters a crowded Python static-analysis field that includes mypy, Pyright/Pylance, basedpyright, ty, Pyrefly, Jedi, and editor-specific integrations. Its practical pitch is speed plus compatibility rather than a new type system.

The package is designed for developer workstations and editors. The docs cover installation with pip, direct use as zuban check or zuban mypy, the zmypy alias, and configuration for VSCode, Vim, Neovim, Helix, Zed, Emacs, Kate, and Sublime Text.

### How it is used

Command-line users run zuban check for the default mode, zuban mypy or zmypy for mypy-compatible behavior, and zuban server for LSP integration. Configuration is read from pyproject.toml and mypy.ini, including [tool.zuban], [tool.mypy], mypy_path, and many mypy-compatible options.

Editor users configure the zuban or zubanls command as a Python language server. The docs describe LSP initialization options such as typeCheckingMode, disableLanguageServices, diagnosticMode, and pythonExecutable.

### Why package nerds care

Zuban is package-nerd significant because it shows the current packaging shape of Python tooling: a Rust implementation shipped as a Python-installable command, exposing both CLI and editor-server workflows, while reading existing Python project config files.

It also represents the modern pressure on language tooling packages to be drop-in enough for existing mypy users while fast enough to compete with native editor language servers.

### Timeline

- 2012: David Halter created Jedi, the project ZubanLS explicitly cites as its predecessor experience.
- 2020: Halter began building ZubanLS from the ground up in Rust.
- 2025-10-10: Zuban 0.1.0 beta release recorded in the changelog.
- 2026-04-06: Zuban 0.7.0 changed default/mypy mode behavior and improved Django and LSP support.
- 2026-06-23: Zuban 0.9.0 changelog entry records mode-selection fixes and additional mypy-compatible options.

### Related projects

- Related projects include Jedi, mypy, Pyright, Pylance, basedpyright, ty, Pyrefly, typeshed, Python LSP clients, VSCode, Neovim, Helix, Zed, Emacs, Kate, and Sublime Text.

### Sources

- <https://docs.zubanls.com/en/latest/>
- <https://docs.zubanls.com/en/latest/changelog.html>
- <https://docs.zubanls.com/en/latest/installation.html>
- <https://docs.zubanls.com/en/latest/usage.html>
- <https://github.com/zubanls/zuban>
- <https://raw.githubusercontent.com/zubanls/zuban/master/README.md>
- <https://zubanls.com/>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: pyproject.toml, mypy.ini
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** zuban
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - zuban: normalized package name match | nixpkgs package indexes: pkgs/by-name/zu/zuban/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [millet](https://www.automicvault.com/pkg/brew/millet/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp, rust.
- [phpantom-lsp](https://www.automicvault.com/pkg/brew/phpantom-lsp/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp, rust.
- [python-lsp-server](https://www.automicvault.com/pkg/brew/python-lsp-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp, python.
- [ansible-language-server](https://www.automicvault.com/pkg/brew/ansible-language-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [bash-language-server](https://www.automicvault.com/pkg/brew/bash-language-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [clojure-lsp](https://www.automicvault.com/pkg/brew/clojure-lsp/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [codebook-lsp](https://www.automicvault.com/pkg/brew/codebook-lsp/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [crystalline](https://www.automicvault.com/pkg/brew/crystalline/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [ty](https://www.automicvault.com/pkg/brew/ty/) - Both packages touch the same language runtime or ecosystem. Shared terms: checker, cli, developer, developer-tools, language.
- [basedpyright](https://www.automicvault.com/pkg/brew/basedpyright/) - Both packages touch the same language runtime or ecosystem. Shared terms: checker, cli, developer, developer-tools, language.

## Combined YAML source

View the package source record on GitHub. [combined/zuban.yml](https://github.com/automic-vault/db/blob/main/combined/zuban.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
