pyright README

The project's README from github.com/microsoft/pyright. As one markdown file: README.md.

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.

Environment variables

If Pyright fails to create a temporary directory (for example in remote/server environments where the OS temp directory doesn't exist or isn't writable), you can override the temp directory root:

Pyright otherwise relies on the platform temp directory (for example TMPDIR, TMP, TEMP, or the OS default).

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 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 [email protected] with any additional questions or comments.

pyright (microsoft/pyright)

Searching Database…

15.7K ·GitHub
What is this?Pyright is a full-featured, standards-based static type checker for Python, built by Microsoft for speed on large codebases.
Is it a command-line tool, an editor plugin, or both?Both: it ships as a command-line tool and as an extension for Visual Studio Code, and there is also a browser Playground for quick trials.
How do I get it running?The README refers you to the project documentation for installation, configuration and usage; for a zero-install taste there is the Pyright Playground that runs in your browser.
Is it written in Python like the code it checks?No — despite checking Python code, Pyright itself is a TypeScript project: this repo builds with pnpm, lerna and webpack on Node.js tooling.
Any environment quirks I should know about, say on servers or in containers?In remote/server environments where the OS temp directory doesn't exist or isn't writable, set the PYRIGHTTMPDIR environment variable to an absolute path — Pyright will create it and use it for temporary files.
Will it cope with a large codebase?Yes — performance was a design goal, and Pyright is explicitly built to be used with large Python source bases.
Which platforms does it work on?The CLI and the VS Code extension run on Windows, macOS and Linux, so it covers the usual developer setups regardless of OS.
What is the difference between Pyright and Pylance?Core type checking functionality is associated with Pyright, while language service functionality is associated with Pylance; the same contributors monitor both repos, so issues can be filed in either tracker.
Can I try it without installing anything?Yes — the Pyright Playground runs in your browser, so you can experiment with its type checking before installing the CLI or the VS Code extension.
Do I have to use VS Code to get value from it?No — the command-line tool works standalone in any terminal, locally or in CI; the VS Code extension just adds the in-editor experience.
What are similar projects?mypy, fallow, rector, ruff, infer, semgrep, TypeScript, standard
Creator
microsoft
Size
137.1 MB
Stars
15.7K
Age
7y
Commits · 90 Days