pyright

Alex Murray (alexmurray) Publisher Star developer Star developer

Install latest/stable of pyright

Ubuntu 16.04 or later?

Make sure snap support is enabled in your Desktop store.


Install using the command line

sudo snap install pyright --classic

Don't have snapd? Get set up for snaps.

Channel Version Published

Details for pyright

License

  • MIT

Last updated

  • 30 March 2026 - latest/stable
  • 24 May 2026 - latest/edge

Websites


Contact


Command › Alias

  • pyright.pyright-langserver › pyright-langserver

Report a Snap Store violation

Share this snap

Generate an embeddable card to be shared on external websites.

Static type checker and language server for Python

** Speed **

Pyright is a fast type checker meant for large Python source bases. It can run in a “watch” mode and performs fast incremental updates when files are modified.

** Configurability **

Pyright supports configuration files that provide granular control over settings. Different “execution environments” can be associated with subdirectories within a source base. Each environment can specify different module search paths, python language versions, and platform targets.

** Type Checking Features **

  • PEP 484 type hints including generics
  • PEP 487 simpler customization of class creation
  • PEP 526 syntax for variable annotations
  • PEP 544 structural subtyping
  • PEP 561 distributing and packaging type information
  • PEP 563 postponed evaluation of annotations
  • PEP 570 position-only parameters
  • PEP 585 type hinting generics in standard collections
  • PEP 586 literal types
  • PEP 589 typed dictionaries
  • PEP 591 final qualifier
  • PEP 593 flexible variable annotations
  • PEP 604 complementary syntax for unions
  • PEP 612 parameter specification variables
  • PEP 613 explicit type aliases
  • PEP 635 structural pattern matching
  • PEP 646 variadic generics
  • PEP 647 user-defined type guards
  • PEP 655 required typed dictionary items
  • PEP 673 Self type
  • PEP 675 arbitrary literal strings
  • PEP 681 dataclass transform
  • Type inference for function return values, instance variables, class variables, and globals
  • Type guards that understand conditional code flow constructs like if/else statements

** Language Server Integration **

Pyright ships as both a command-line tool and a Language Server protocol server that provides many powerful features that help improve programming efficiency.

** Language Server Features **

  • Intelligent type completion of keywords, symbols, and import names appears when editing
  • Import statements are automatically inserted when necessary for type completions
  • Signature completion tips help when filling in arguments for a call
  • Hover over symbols to provide type information and doc strings
  • Find Definitions to quickly go to the location of a symbol’s definition
  • Find References to find all references to a symbol within a code base
  • Rename Symbol to rename all references to a symbol within a code base
  • Find Symbols within the current document or within the entire workspace
  • View call hierarchy information — calls made within a function and places where a function is called
  • Organize Imports command for automatically ordering imports according to PEP8 rules
  • Type stub generation for third-party libraries

Install pyright on your Linux distribution

Choose your Linux distribution to get detailed installation instructions. If yours is not shown, get more details on the installing snapd documentation.