Приложение: pyright Static type checker for Python ** Speed ** Pyright is a fast type checker meant for large Python source bases. 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. subdirectories within a source base. 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 Источник |