Type checker for the Python language
Pyright is an advanced static type checker designed specifically for Python, offering developers a robust tool to enhance their code quality and maintainability. Developed by Microsoft, Pyright is meticulously crafted to provide fast type checking, which is crucial for large codebases where performance and scalability are key. By enforcing type annotations and type checking at compile time, Pyright helps catch common programming errors, reducing runtime errors and bugs. This npm package significantly boosts developer productivity by allowing them to spot and correct issues earlier in the development process, thereby streamlining debugging and testing phases.
For developers looking to integrate Pyright into their projects, the process is straightforward: simply run the command 'npm install pyright'. This command installs Pyright, making it readily available to check Python code for type correctness. The benefit of using npm to install Pyright is that it ensures you are using the latest version, with all the newest features and bug fixes. Additionally, Pyright supports configuration via pyrightconfig.json, allowing developers to customize settings to suit their specific project needs. By using Pyright, developers can ensure their Python code adheres to strict typing, ultimately leading to cleaner, more reliable software.
Pyright not only supports the basic Python type hints but also offers advanced type checking capabilities that are not commonly found in other Python type checkers. It supports type inference, meaning it can deduce types even when they are not explicitly specified, saving developers time and making their code cleaner and more readable. Pyright is also designed to work seamlessly with other tools in the Python ecosystem, providing integrations with popular IDEs and editors, enhancing workflow and productivity. With its powerful features and Microsoft backing, Pyright stands out as a leading choice for developers aiming to improve their Python code's reliability and maintainability.
Core dependencies of this npm package and its dev dependencies.
@types/glob, @types/node, @types/yargs, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, cross-env, eslint, eslint-config-prettier, eslint-plugin-simple-import-sort, glob, jsonc-parser, lerna, npm-check-updates, p-queue, prettier, syncpack, typescript, word-wrap, yargs
A README file for the pyright code repository. View Code
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.
Try Pyright in your browser using the Pyright Playground.
Refer to the documentation for installation, configuration, and usage details.
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.
This project welcomes contributions and suggestions. For feature and complex bug fix contributions, it is recommended that you first discuss the proposed change with Pyright’s 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.