basedpyright
static type checking for Python (but based)
What it is and what it does
Basedpyright is a maintained fork of Microsoft's Pyright static type checker, designed to add type checking improvements and features from Pylance that are not present in the upstream project. It analyzes Python code for type errors without running it, helping developers catch bugs early and enforce type safety across codebases. The package requires Python 3.8 or later and depends on nodejs-wheel-binaries at runtime, making it suitable for projects that already have Node.js infrastructure or can tolerate that dependency.
The project is actively developed with frequent releases and a substantial community following. It serves developers who want stricter or more feature-rich type checking than standard Pyright provides, particularly those working with modern Python versions (3.8 through 3.14 are supported).
Use it for:
- Enforce type safety in Python projects by catching type errors before runtime.
- Integrate type checking into CI/CD pipelines as part of code quality gates.
- Use enhanced type checking features from Pylance without adopting the full IDE.
- Migrate from Pyright while gaining additional type checking capabilities.
- Validate type annotations in large codebases across Python 3.8+.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Basedpyright is a static type checker for Python that forks and extends Pyright with additional type checking improvements and Pylance features.
Yes, if you need static type checking for Python and want Pyright with additional improvements. The low install friction, active maintenance, permissive license, and lack of known vulnerabilities make it a solid choice. Verify first whether the specific enhancements over Pyright align with your project's needs by checking the documentation.
Install
basedpyright on PyPI
pip
pip install basedpyrightuv
uv add basedpyrightpoetry
poetry add basedpyrightInstalling basedpyright
Before you install
Low install friction with a single runtime dependency on nodejs-wheel-binaries. The project is actively maintained with a recent release (1 day old) and 3525 repository stars, indicating ongoing development and community engagement.
License in practice
Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install basedpyright
basedpyright --help
Requires Python 3.8 or later; nodejs-wheel-binaries runtime dependency must be available.
Verify before relying
- Whether basedpyright can be used as a drop-in replacement for pyright in existing type-checking workflows.
- Specific list of type checking improvements and Pylance features added beyond the upstream pyright.
- Performance characteristics compared to the original pyright implementation.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — nodejs-wheel-binaries |
| Maintenance | actively maintained — 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 10,488,410/month — #1,449 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: basedpyright-1.39.10-py3-none-any.whl
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
pyrightPyright is a Python command-line wrapper that…
permissive · top 1,000 on PyPI
optypeoptype provides single-method protocols and…
permissive · top 5,000 on PyPI
pylintPylint is a static code analyzer that checks…
copyleft · top 1,000 on PyPI
types-awscrtProvides type annotations and IDE code…
permissive · top 1,000 on PyPI
scipy-stubsProvides type stubs for the entire SciPy…
permissive · top 5,000 on PyPI
types-lxmlProvides complete external type annotations for…
permissive · top 5,000 on PyPI
pymarkdownlntPyMarkdown is a GitHub Flavored Markdown linter…
permissive · top 5,000 on PyPI
bar-raiserBar-Raiser creates GitHub checks with inline…
permissive · top 15,000 on PyPI
types-typed-astProvides type stubs for the typed-ast package,…
permissive · top 15,000 on PyPI
types-s3transferProvides type annotations and IDE code…
permissive · top 1,000 on PyPI