NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #970 most downloaded on PyPI
static type checking for Python (but based)
Last release today
04 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
120 releases · first in 2024
Nothing published for this version
Merge 1.1.414 by @DetachHead in #1883
Full Changelog: v1.40.0...v1.40.1
drop support for python 3.8 and 3.9 in the pypi package, which are EOL by @DetachHead in #1876
One column per month.
Full Changelog: v1.39.10...v1.40.0
add allowedUntypedLibraries and failOnWarnings to pyrightconfig.schema.json by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1851
allowedUntypedLibraries and failOnWarnings to pyrightconfig.schema.json by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1851workspace/configuration request by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1847Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.9...v1.39.10
allowedUntypedLibraries and failOnWarnings to pyrightconfig.schema.json by @DetachHead in #1851workspace/configuration request by @DetachHead in #1847Full Changelog: v1.39.9...v1.39.10
fix: suppress unused call result for notebook cell value by @popsiclelmlm in https://github.com/DetachHead/basedpyright/pull/1827
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.8...v1.39.9
Full Changelog: v1.39.8...v1.39.9
fix default value in pythonPlatform documentation, which differs from upstream by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1819
pythonPlatform documentation, which differs from upstream by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1819Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.7...v1.39.8
pythonPlatform documentation, which differs from upstream by @DetachHead in #1819Full Changelog: v1.39.7...v1.39.8
don't create a copy of the basedpyright-langserver executable in the vscode extension unless running on windows by @DetachHead in https://github.com/D
basedpyright-langserver executable in the vscode extension unless running on windows by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1810
basedpyright.disableLanguageServices is set by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1815Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.6...v1.39.7
basedpyright-langserver executable in the vscode extension unless running on windows by @DetachHead in #1810
basedpyright.disableLanguageServices is set by @DetachHead in #1815Full Changelog: v1.39.6...v1.39.7
Fix auto import suggestions for files that haven't been opened by @joaoheusi in https://github.com/DetachHead/basedpyright/pull/1802
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.5...v1.39.6
Full Changelog: v1.39.5...v1.39.6
fix error attempting to baseline diagnostics from the new string.templatelib module when targeting python 3.14 by @DetachHead in https://github.com/De
string.templatelib module when targeting python 3.14 by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1801Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.4...v1.39.5
string.templatelib module when targeting python 3.14 by @DetachHead in #1801Full Changelog: v1.39.4...v1.39.5
Update basedpyright's docs for PyCharm by @charliecloudberry in https://github.com/DetachHead/basedpyright/pull/1643
map & filter as not subscriptable at runtime and don't show generic inlay hints for non-subscriptable types by @nfer in https://github.com/DetachHead/basedpyright/pull/1797Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.3...v1.39.4
map & filter as not subscriptable at runtime and don't show generic inlay hints for non-subscriptable types by @nfer in #1797Full Changelog: v1.39.3...v1.39.4
fix docs site not being deployed, which was caused by some changes I made to improve the security of our CI by @DetachHead in https://github.com/Detac
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.2...v1.39.3
Full Changelog: v1.39.2...v1.39.3
fix basedpyright being broken in the playground caused by browser-basedpyright being published with nothing in it by @DetachHead in https://github.com
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.1...v1.39.2
Full Changelog: v1.39.1...v1.39.2
Chinese (Simplified) localization update (2026.04) by @NCBM in https://github.com/DetachHead/basedpyright/pull/1767
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.39.0...v1.39.1
Full Changelog: v1.39.0...v1.39.1
pyright only reports an error when you instantiate an abstract class that has unimplemented abstract methods. but a class that explicitly extends ABC
reportEmptyAbstractUsagepyright only reports an error when you instantiate an abstract class that has unimplemented abstract methods. but a class that explicitly extends ABC (or uses ABCMeta) with no abstract methods can also be instantiated, and pyright has no issue with that:
from abc import ABC
class Foo(ABC):
"""abstract class with no abstract methods"""
foo = Foo() # no error
but the author of the class likely intended this class not to be used directly, and instead subtyped. so if a class extends ABC but defines no abstract methods, instantiating it is likely unintentional.
the reportEmptyAbstractUsage rule flags such instantiations. see the docs for more info.
implemented by @KotlinIsland in https://github.com/DetachHead/basedpyright/pull/1748 (some fixes by @detachhead in https://github.com/DetachHead/basedpyright/pull/1766)
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.38.4...v1.39.0
fix typing_extensions auto-import being treated as first party by @beauxq in https://github.com/DetachHead/basedpyright/pull/1754
typing_extensions auto-import being treated as first party by @beauxq in https://github.com/DetachHead/basedpyright/pull/1754@core-js/pure to polyfill newer js features by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1760Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.38.3...v1.38.4
fix ordering of code actions and don't show # pyright:ignore[reportImportCycles] code action because it doesn't work by @NCBM in https://github.com/De
# pyright:ignore[reportImportCycles] code action because it doesn't work by @NCBM in https://github.com/DetachHead/basedpyright/pull/1753Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.38.2...v1.38.3
Improved semantic tokens for keyword arguments by @KurtBoehm in https://github.com/DetachHead/basedpyright/pull/1740
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.38.1...v1.38.2
fix language server crash on abstract setter with no parameter by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1732
TYPE_CHECKING guards in match statements by @grahamcracker1234 in https://github.com/DetachHead/basedpyright/pull/1726Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.38.0...v1.38.1
show the default value from the implementation signature when displaying an overload signature (eg. hover and signature help) if its default value is
reportUnnecessaryCastreportUnusedCallResultreportSelfClsDefaultFull Changelog: https://github.com/DetachHead/basedpyright/compare/v1.37.4...v1.38.0
fix $schema being reported as unrecognized setting in config files by @jaenw in https://github.com/DetachHead/basedpyright/pull/1714
$schema being reported as unrecognized setting in config files by @jaenw in https://github.com/DetachHead/basedpyright/pull/1714Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.37.3...v1.37.4
fix infinite recursion crash when subject of match statement of type Never is used in the left side of a call in the case block by @DetachHead in http
Never is used in the left side of a call in the case block by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1711Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.37.2...v1.37.3
fix reference to non-existent baseline mode in the docs by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1699
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.37.1...v1.37.2
Merge 1.1.408 by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1696
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.37.0...v1.37.1
fix skip_replace hack documentation by @decorator-factory in https://github.com/DetachHead/basedpyright/pull/1686
skip_replace hack documentation by @decorator-factory in https://github.com/DetachHead/basedpyright/pull/1686@override by @NCBM in https://github.com/DetachHead/basedpyright/pull/1680baselineMode setting for the language server by @andyscho in https://github.com/DetachHead/basedpyright/pull/1693Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.36.2...v1.37.0
Fix out of bounds top-level activeParameter being set when an individual signature has an activeParameter by @DetachHead in https://github.com/DetachH
activeParameter being set when an individual signature has an activeParameter by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1681hint support to # pyright doc-level directives by @finite-state-machine in https://github.com/DetachHead/basedpyright/pull/1679basedpyright --writebaseline not working if there are changes to write but the total error count didn't change by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1685Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.36.1...v1.36.2
fix an issue introduced in 1.36.0 that broke the browser version of basedpyright used in the playground by @DetachHead in https://github.com/DetachHea
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.36.0...v1.36.1
fail in CI if baseline file needs updating and add --baselinemode cli argument by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1667
--baselinemode cli argument by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1667Any, unknown, and unions by @KurtBoehm in https://github.com/DetachHead/basedpyright/pull/1670Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.35.0...v1.36.0
in pyright/pylance, you only get completions for Literals that contain strings:
Literals and enumsin pyright/pylance, you only get completions for Literals that contain strings:
<img width="380" height="78" alt="image" src="https://github.com/user-attachments/assets/f907f82c-f7b7-4956-8e5d-cdc91f5060c8" />
but in basedpyright, this now also works with Literals that contain other types, such as int, bool and Enum values:
<img width="485" height="125" alt="image" src="https://github.com/user-attachments/assets/a9319b3f-f606-4bbe-b391-21997e3b763c" />
unlike pyright/pylance, basedpyright now also supports completions for enum values:
<img width="194" height="64" alt="image" src="https://github.com/user-attachments/assets/f74b17a7-52c0-4440-af81-583ba30b5b1a" />
this also works for other types of enums such as IntEnum and StrEnum
implemented by @KurtBoehm in https://github.com/DetachHead/basedpyright/pull/1644 & https://github.com/DetachHead/basedpyright/pull/1658
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.34.0...v1.35.0
implement textDocument/implementation aka "Go to Implementations" by @beauxq in https://github.com/DetachHead/basedpyright/pull/1636 & https://github.
textDocument/implementation aka "Go to Implementations" by @beauxq in https://github.com/DetachHead/basedpyright/pull/1636 & https://github.com/DetachHead/basedpyright/pull/1649Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.33.0...v1.34.0
pylance supports "go to definition" on some operators. basedpyright now supports this and takes it a step further by also showing hover information as
pylance supports "go to definition" on some operators. basedpyright now supports this and takes it a step further by also showing hover information as well:
<img width="287" height="164" alt="image" src="https://github.com/user-attachments/assets/003200bf-78fa-4431-b90a-3bc6e3f14f2d" />
implemented by @KurtBoehm in https://github.com/DetachHead/basedpyright/pull/1576
basedpyright.configFilePath to the language server by @brunovollmer in https://github.com/DetachHead/basedpyright/pull/1607Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.32.1...v1.33.0
fix an accidental breaking change to dataclass_transform that was introduced in pyright 1.1.407 by @DetachHead in https://github.com/DetachHead/basedp…
dataclass_transform that was introduced in pyright 1.1.407 by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1595Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.32.0...v1.32.1
but this approach limits us from making any interesting breaking changes to the type system itself.
enableBasedFeaturesuntil now, basedpyright-exclusive type checking features have mostly come in the form of an additional diagnostic rule that users have the option to disable. but this approach limits us from making any interesting breaking changes to the type system itself.
this release introduces a new setting called enableBasedFeatures, which is disabled by default. enabling it will opt you into any changes we make that introduce breaking changes to the type system. in other words, if you're developing a library and expect your users to be using other type checkers, you should probably keep it disabled.
currently only one feature is behind this flag: the new skip_replace argument to the @dataclass_transform decorator, implemented by @decorator-factory in https://github.com/DetachHead/basedpyright/pull/1568
reportSelfClsDefaultPyright allows specifying a default value for self in instance methods and cls in class methods:
class Foo:
def foo(self=1):
...
this is almost certainly a mistake, so this new diagnostic rule will warn against it.
also implemented by @decorator-factory in https://github.com/DetachHead/basedpyright/pull/1581
basedpyright instead of python when instantiating vscode's LanguageClient so that the logging can be configured using basedpyright.trace.server by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1583paramNameMissing by @NCBM in https://github.com/DetachHead/basedpyright/pull/1588Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.31.7...v1.32.0
fix performance issues on large enums by @jabbera in https://github.com/DetachHead/basedpyright/pull/1535
reportUnannotatedClassAttribute by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1544array.array at runtime on python <3.12 by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1552string.templatelib module and generate stub docstrings for 3.14 by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1551Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.31.6...v1.31.7
fix duplicated reportMatchNotExhaustive and missing reportImplicitOverride in the docs by @DetachHead in https://github.com/DetachHead/basedpyright/pu
reportMatchNotExhaustive and missing reportImplicitOverride in the docs by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1522v from rev tag for prek in the docs by @sakosha in https://github.com/DetachHead/basedpyright/pull/1520Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.31.5...v1.31.6
Semantic Tokens for custom builtins specified in project __builtins__.pyi by @Wizzerinus in https://github.com/DetachHead/basedpyright/pull/1451
__builtins__.pyi by @Wizzerinus in https://github.com/DetachHead/basedpyright/pull/1451--baselinefile cli argument and update the docs to reflect that the baseline file functionality is now stable by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1480uv pip install -> uv tool install by @HairlessVillager in https://github.com/DetachHead/basedpyright/pull/1482\N{ (named unicode characters) in strings being turned into f-strings by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1504reportInvalidTypeVarUse for type var in return type by @KotlinIsland in https://github.com/DetachHead/basedpyright/pull/1498basedpyright.analysis.inlayHints.genericTypes by default by @KotlinIsland in https://github.com/DetachHead/basedpyright/pull/1513Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.31.4...v1.31.5
make allowedUntypedLibraries work on overloads by @leonardo-panseri in https://github.com/DetachHead/basedpyright/pull/1437
allowedUntypedLibraries work on overloads by @leonardo-panseri in https://github.com/DetachHead/basedpyright/pull/1437autoFormatStrings when client does not support dynamic registration for onTypeFormatting by @ribru17 in https://github.com/DetachHead/basedpyright/pull/1452Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.31.3...v1.31.4
fix link in vscode description for diagnosticSeverityOverrides by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1431
diagnosticSeverityOverrides by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1431Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.31.2...v1.31.3
Hide inlay hints when the parameter matches an accessed member's name by @tylerlaprade in https://github.com/DetachHead/basedpyright/pull/1420
prefligit to prek in docs by @j178 in https://github.com/DetachHead/basedpyright/pull/1423Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.31.1...v1.31.2
fix # pyright: ignore code actions inserting the comment before the last character if the error is on the last line in the file by @DetachHead in http
# pyright: ignore code actions inserting the comment before the last character if the error is on the last line in the file by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1398__init__ and __new__ methods by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1415Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.31.0...v1.31.1
implement basedpyright.analysis.autoFormatStrings setting from pylance:
{ inside a stringimplement basedpyright.analysis.autoFormatStrings setting from pylance:
implemented in https://github.com/DetachHead/basedpyright/pull/1390
writeBaseline, restartServer and createTypeStub commands only being registered in the vscode extension instead of the language server by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1385reportImplicitAbstractClass to "error" when typeCheckingMode is "recommended" by @tylerlaprade in https://github.com/DetachHead/basedpyright/pull/1392Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.30.1...v1.31.0
fix code actions in jupyter notebooks by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1384
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.30.0...v1.30.1
add code action for inserting # pyright: ignore comments by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1359
# pyright: ignore comments by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1359Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.29.5...v1.30.0
add new basedpyright.analysis.inlayHints.callArgumentNamesMatching setting for function parameter inlay hints where the name matches by @sam-or in htt
basedpyright.analysis.inlayHints.callArgumentNamesMatching setting for function parameter inlay hints where the name matches by @sam-or in https://github.com/DetachHead/basedpyright/pull/1340--threads in the CLI by @Rayahhhmed in https://github.com/DetachHead/basedpyright/pull/1355new-diagnostic-rules.md by @tylerlaprade in https://github.com/DetachHead/basedpyright/pull/1332"discouraged" in config-files.md by @tylerlaprade in https://github.com/DetachHead/basedpyright/pull/1337Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.29.4...v1.29.5
fix "unknown config option" false positive on reportUnreachable caused by upstream merge mistake by @DetachHead in https://github.com/DetachHead/based
reportUnreachable caused by upstream merge mistake by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1326
reportUnreachable, but it doesn’t cover most cases so I reverted their one when I merged the 1.1.402 release. see here for more infoFull Changelog: https://github.com/DetachHead/basedpyright/compare/v1.29.3...v1.29.4
Chinese (Simplified) localization update (2025.05) by @NCBM in https://github.com/DetachHead/basedpyright/pull/1277
reportUnreachable, but it doesn’t cover most cases so I reverted their one when I merged the 1.1.402 release. see here for more infoFull Changelog: https://github.com/DetachHead/basedpyright/compare/v1.29.2...v1.29.3
fix crash on inlay hints in notebooks when the type comes from another cell by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1278
reportIncompatibleUnannotatedOverride false positive & fix case where it changes the behavior of reportIncompatibleMethodOverride by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1286self and cls parameters by @ValdezFOmar in https://github.com/DetachHead/basedpyright/pull/1291@override when reportExplicitOverride is disabled by @sterliakov in https://github.com/DetachHead/basedpyright/pull/1292selfParameter and clsParameter semantic token types as a subtype of parameter by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1298Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.29.1...v1.29.2
Merge 1.1.400 by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1249
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.29.0...v1.29.1
pyright's reportIncompatibleVariableOverride rule does not report an error if the attribute in the base class does not have a type annotation:
reportIncompatibleUnannotatedOverridepyright's reportIncompatibleVariableOverride rule does not report an error if the attribute in the base class does not have a type annotation:
class A:
value = 1 # inferred as `int`
class B(A):
value = None # no error, even though the type on the base class is `int` and the type here is `None`
the new reportIncompatibleUnannotatedOverride rule will report an error in such cases. note that this rule is intended to replace reportUnannotatedClassAttribute in the future, but it is currently disabled by default. see the docs for more information
implemented in https://github.com/DetachHead/basedpyright/pull/1207
reportInvalidAbstractMethodpyright ignores methods decorated with @abstractmethod if the class is not abstract:
from abc import abstractmethod
class Foo:
@abstractmethod
def foo(): ...
Foo() # no error
the new reportInvalidAbstractMethod rule will report an error on the method definition. see the docs for more info
implemented in in https://github.com/DetachHead/basedpyright/pull/1238
basedpyright.disableLanguageServices incorrectly disables diagnostics when pull diagnostics is enabled by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1231Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.28.5...v1.29.0
fix reportPrivateImportUsage behaving differently when run on an individual file if imports in other files effect the cached import results by @Detach
reportPrivateImportUsage behaving differently when run on an individual file if imports in other files effect the cached import results by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1174--pythonplatform cli argument accepting invalid values and rejecting valid values by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1196Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.28.4...v1.28.5
disable deprecated check on completions in cases where it causes the type evaluator to randomly specialize instances incorrectly by @DetachHead in htt…
reportMissingTypeStubs for known stubs that aren't in typeshed by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1158
scipy-stubs as non-typeshed stub package by @jorenham in https://github.com/DetachHead/basedpyright/pull/1162diagnosticMode to "workspace" doesn't work by @utybo in https://github.com/DetachHead/basedpyright/pull/1152Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.28.3...v1.28.4
fix updating the baseline file when running in pull diagnostics mode by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1154
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.28.2...v1.28.3
fix reportAny/reportUnknown* false positives on function calls where the type of the default value is Any or Unknown and the argument isn't used in th
reportAny/reportUnknown* false positives on function calls where the type of the default value is Any or Unknown and the argument isn't used in the call by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1120basedpyright-langserver executable contains a space by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1126Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.28.1...v1.28.2
update pyright to 1.1.396 by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1115
failOnWarnings in the footnote for --warnings by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1116Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.28.0...v1.28.1
add deprecated tag to completions by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1083, https://github.com/DetachHead/basedpyright/p…
serverInfo in initializeResult by @disrupted in https://github.com/DetachHead/basedpyright/pull/1077none on relevant rules by @disrupted in https://github.com/DetachHead/basedpyright/pull/1084, https://github.com/DetachHead/basedpyright/pull/1089IPython.display.display in notebooks by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1098@override decorator on method completions if targeting python <3.12 unless basedpyright.analysis.useTypingExtensions is enabled by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1099@override completion text edit being added to __init_subclass__ and metaclass members by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1103, https://github.com/DetachHead/basedpyright/pull/1109… to omit the default value don’t get matchedFull Changelog: https://github.com/DetachHead/basedpyright/compare/v1.27.1...v1.28.0
fix crash on invalid notebook files by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1050
diagnosticMode is "workspace" and workspace contains jupyter notebooks that haven't yet been opened by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1065reportUninitializedInstanceVariable by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1060Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.27.0...v1.27.1
just like pylance, basedpyright now works with jupyter notebooks:
just like pylance, basedpyright now works with jupyter notebooks:
but unlike pylance, you can also type check your notebooks with the CLI:
>basedpyright
c:\project\asdf.ipynb - cell 1
c:\project\asdf.ipynb:1:1:12 - error: Type "Literal['']" is not assignable to declared type "int"
"Literal['']" is not assignable to "int" (reportAssignmentType)
c:\project\asdf.ipynb - cell 2
c:\project\asdf.ipynb:2:1:12 - error: Type "int" is not assignable to declared type "str"
"int" is not assignable to "str" (reportAssignmentType)
2 errors, 0 warnings, 0 notes
implemented in https://github.com/DetachHead/basedpyright/pull/1035 & https://github.com/DetachHead/basedpyright/pull/1046
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.26.0...v1.27.0
add @override decorator when autocompleting overridden methods by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1027 ![]
@override decorator when autocompleting overridden methods by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1027
Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.25.0...v1.26.0
basedpyright now supports double clicking inlay hints to insert them into your code. unlike pylance, this also works on Callable types:
basedpyright now supports double clicking inlay hints to insert them into your code. unlike pylance, this also works on Callable types:
implemented in https://github.com/DetachHead/basedpyright/pull/968 & https://github.com/DetachHead/basedpyright/pull/1020
pythonPathconfiguring your python interpreter in pyright is needlessly confusing. if you aren't using vscode or you aren't running it from inside a virtual environment, you'll likely encounter errors as a result of pyright using the wrong interpreter. to fix this you'd have to use the venv and venvPath settings which are two separate settings for some reason.
in this release, basedpyright now detects the most common location for a virtual environment: a folder named .venv in the project root, which it uses as the default value for pythonPath. this means most users shouldn't have to manually configure basedpyright to use the correct python interpreter anymore. see the docs for more info
implemented by @cpprust in https://github.com/DetachHead/basedpyright/pull/1006
capabilities.workspace.didChangeWatchedFiles.dynamicRegistration by @DetachHead in https://github.com/DetachHead/basedpyright/pull/1011Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.24.0...v1.25.0
add allowedUntypedLibraries setting to support disabling diagnostics for untyped functions/classes imported from specific modules by @Wizzerinus in ht
allowedUntypedLibraries setting to support disabling diagnostics for untyped functions/classes imported from specific modules by @Wizzerinus in https://github.com/DetachHead/basedpyright/pull/970basedpyright.analysis.autoImportCompletions is disabled by @DetachHead in https://github.com/DetachHead/basedpyright/pull/983Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.23.2...v1.24.0
fix second generic for AbstractContextManager being ignored when determining whether the context manager can suppress exceptions by @DetachHead in htt
AbstractContextManager being ignored when determining whether the context manager can suppress exceptions by @DetachHead in https://github.com/DetachHead/basedpyright/pull/963File or directory "/<default workspace root>" does not exist error being reported as a language server notification by @DetachHead in https://github.com/DetachHead/basedpyright/pull/966reportUninitializedInstanceVariable by @beauxq in https://github.com/DetachHead/basedpyright/pull/975Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.23.1...v1.23.2
Your coding agent can read these notes before it upgrades. Set up the MCP server →