Static Type Checker for Python
Find a file
Rich Chiodo 97ae524744
Some checks are pending
Run mypy_primer on push / Run mypy_primer on push (push) Waiting to run
Validation / Typecheck (push) Waiting to run
Validation / Test macos-latest (push) Blocked by required conditions
Validation / Style (push) Waiting to run
Validation / Test ubuntu-latest (push) Blocked by required conditions
Validation / Test windows-latest (push) Blocked by required conditions
Validation / Build (push) Blocked by required conditions
Validation / Required (push) Blocked by required conditions
Fix regression in symlinked files (#10944)
* Fix regression in symlinked files

* Handle directory case too

* Fix prettier errors

* Add test and shortcut isDirectory check

* Fix prettier

* Test can only run in test env

* Formatting change

* Only call tryStat once

* Review feedback
2025-09-18 23:11:02 +00:00
.github Fix mypy_primer to run again (#10945) 2025-09-18 13:04:12 -07:00
.vscode Debugging (#7332) 2024-02-25 15:26:06 -07:00
build pull-pylance-with-pyright-1.1.404-20250902-204731 (#10885) 2025-09-02 14:20:15 -07:00
docs Removed "reportShadowedImports" check and associated "renameShadowedFile" action. This feature is off by default in pyright although enabled by default in pylance. (#10891) 2025-09-08 09:35:09 -07:00
packages Fix regression in symlinked files (#10944) 2025-09-18 23:11:02 +00:00
.eslintignore Mass reformat ts/js/md with ESLint quick fixes and prettier (#113) 2020-02-24 16:52:23 -08:00
.eslintrc.json Added new eslint rule to enforce that protected class variables and methods should never start with an underscore. We were somewhat inconsistent here. Fixed up the code to honor this rule. 2023-04-26 16:09:58 -07:00
.gitattributes Pull Pylance with Pyright 1.1.400 (#10398) 2025-04-30 19:17:26 -07:00
.gitignore Create test for virtual environment (#6007) 2023-09-25 10:21:21 -07:00
.prettierignore Convert repo into a lerna monorepo, add a validation workflow (#978) 2020-08-28 19:46:48 -07:00
.prettierrc Upgrade to Prettier 2.0, reformat (#610) 2020-04-07 17:18:22 -07:00
CONTRIBUTING.md Updated "contributing" text to recommend that an enhancement request be filed prior to submitting a PR. 2022-03-29 15:51:59 -06:00
lerna.json Published 1.1.405. 2025-09-02 10:04:19 -07:00
LICENSE.txt Pull Pylance with Pyright 1.1.400 (#10398) 2025-04-30 19:17:26 -07:00
package-lock.json Bump axios from 1.10.0 to 1.11.0 (#10742) 2025-08-13 22:25:28 -07:00
package.json Pull Pylance with Pyright 1.1.403 (#10687) 2025-07-08 16:31:39 -07:00
README.md Pull Pylance with Pyright 1.1.400 (#10398) 2025-04-30 19:17:26 -07:00
SECURITY.md Microsoft mandatory file (#3477) 2022-05-18 15:28:38 -07:00
tsconfig.json pull-pylance-with-pyright-1.1.391-20241218-032433 (#9598) 2024-12-18 09:25:18 -08:00

Pyright

Static Type Checker for Python

Pyright is a full-featured, standards-based static type checker for Python. It is designed for high performance and can be used with large Python source bases.

Pyright includes both a command-line tool and an extension for Visual Studio Code.

Pyright Playground

Try Pyright in your browser using the Pyright Playground.

Documentation

Refer to the documentation for installation, configuration, and usage details.

Community

Do you have questions about Pyright or Python type annotations in general? Post your questions in the discussion section.

If you would like to report a bug or request an enhancement, file a new issue in either the pyright or pylance-release issue tracker. In general, core type checking functionality is associated with Pyright while language service functionality is associated with Pylance, but the same contributors monitor both repos. For best results, provide the information requested in the issue template.

Contributing

This project welcomes contributions and suggestions. For feature and complex bug fix contributions, it is recommended that you first discuss the proposed change with Pyrights maintainers before submitting the pull request. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.