basedpyright is a fork of Microsoft’s Pyright static type checker that adds stricter diagnostics, editor capabilities and configuration improvements. It builds on Pyright’s analysis engine while introducing changes intended to make stronger type checking more practical for everyday Python development.
The application provides additional checks for potentially unsafe typing practices that may be accepted by less restrictive configurations. It also offers language server features inspired by Pylance, Microsoft’s proprietary Python development extension.
basedpyright is particularly useful for developers who want to introduce stricter type checking without immediately correcting every issue in an existing project. Its baseline mechanism helps distinguish previously identified problems from errors introduced by new code, allowing teams to improve type safety incrementally.
This is free and open source software.
Key Features
- Introduces additional diagnostic rules for detecting potentially unsafe or ambiguous typing practices.
- Provides recommended, strict and all checking modes with different levels of diagnostic enforcement.
- Supports baselines for suppressing existing errors while continuing to detect newly introduced issues.
- Includes language server functionality inspired by Pylance for use with compatible editors.
- Can be installed through Python packaging tools without requiring a separate Node.js installation.
- Coordinates its editor and command-line releases to help maintain consistent diagnostic results.
- Offers configurable rule overrides and diagnostic severity settings for gradual adoption.
- Incorporates upstream Pyright improvements while retaining its additional checking capabilities.
Website: github.com/DetachHead/basedpyright
Support:
Developer: DetachHead
License: MIT License
basedpyright is written in Python. Learn Python 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 |
| Tach | Enforces module dependencies and architectural boundaries |
| 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 |
| complexipy | Measures cognitive complexity in Python code |
| Zuban | High-performance Python type checker and language server |
| Pyroma | Rates how well a Python project compiles |
| pydoclint | Python docstring linter |
| Arid | Fast duplicate code detection for Python projects |
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.