skillfed

basedpyright

static type checking for Python (but based)

basedpyright v1.39.10 10.5M downloads/30d#1,449 on PyPI3,525
Permissive license Active released

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 basedpyright

uv

uv add basedpyright

poetry

poetry add basedpyright

Installing 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

License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

python static type checkertype checking toolpyright forkpython type annotationsstatic analysis pythontype validationpython type linter
type-checkingstatic-analysiscode-quality

More Quality Assurance packages