From 1f3ed05adcbb834cc557c6e60e6f64d5d9bd5a73 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Thu, 29 Aug 2019 14:51:57 +0000 Subject: [PATCH] Documented recent features. --- README.md | 2 ++ docs/commands.md | 8 +++++ docs/configuration.md | 2 +- docs/img/CreateTypeStub1.png | Bin 0 -> 112509 bytes docs/img/CreateTypeStub2.png | Bin 0 -> 19381 bytes docs/import-resolution.md | 17 +---------- docs/type-stubs.md | 57 +++++++++++++++++++++++++++++++++++ 7 files changed, 69 insertions(+), 17 deletions(-) create mode 100644 docs/commands.md create mode 100644 docs/img/CreateTypeStub1.png create mode 100644 docs/img/CreateTypeStub2.png create mode 100644 docs/type-stubs.md diff --git a/README.md b/README.md index e68f70ae8..374a28d54 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,8 @@ To update to the latest version: * [Settings](/docs/settings.md) * [Comments](/docs/comments.md) * [Import Resolution](/docs/import-resolution.md) +* [Type Stubs](/docs/type-stubs.md) +* [Commands](/docs/commands.md) * [Building & Debugging](/docs/build-debug.md) * [Pyright Internals](/docs/internals.md) diff --git a/docs/commands.md b/docs/commands.md new file mode 100644 index 000000000..70080cbca --- /dev/null +++ b/docs/commands.md @@ -0,0 +1,8 @@ +# VS Code Commands + +Pyright offers the following commands, which can be invoked from VS Code’s “Command Palette”, which can be accessed from the View menu or by pressing Cmd-Shift-P. + +## Organize Imports +This command reorders all imports found in the global (module-level) scope of the source file. As recommended in PEP8, imports are grouped into three groups, each separated by an empty line. The first group includes all built-in modules, the second group includes all third-party modules, and the third group includes all local modules. + +Within each group, imports are sorted alphabetically. And within each “from X import Y” statement, the imported symbols are sorted alphabetically. Pyright also rewraps any imports that don't fit within a single line, switching to multi-line formatting. diff --git a/docs/configuration.md b/docs/configuration.md index e6eec6212..6d5533a4c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -14,7 +14,7 @@ Pyright offers flexible configuration options specified in a JSON-formatted text **typeshedPath** [path, optional]: Path to a directory that contains typeshed type stub files. Pyright ships with an internal copy of some typeshed type stubs (those that cover the Python stdlib packages). If you want to use a full copy of the typeshed type stubs (including those for third-party packages), you can clone the [typeshed github repo](https://github.com/python/typeshed) to a local directory and reference the location with this path. -**typingsPath** [path, optional]: Path to a directory that contains custom type stubs. Each package's type stub file(s) are expected to be in its own subdirectory. +**typingsPath** [path, optional]: Path to a directory that contains custom type stubs. Each package's type stub file(s) are expected to be in its own subdirectory. The default value of this setting is "./typings". **venvPath** [path, optional]: Path to a directory containing one or more subdirectories, each of which contains a virtual environment. Each execution environment (see below for details) can refer to a different virtual environment. When used in conjunction with a **venv** setting (see below), pyright will search for imports in the virtual environment’s site-packages directory rather than the paths specified in PYTHONPATH. diff --git a/docs/img/CreateTypeStub1.png b/docs/img/CreateTypeStub1.png new file mode 100644 index 0000000000000000000000000000000000000000..65283e0ed1290d725568e2802b703e2a28b52b71 GIT binary patch literal 112509 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 Xo;}hYcj`zv0}yz+`njxgN@xNA=sMZ* literal 0 HcmV?d00001 diff --git a/docs/img/CreateTypeStub2.png b/docs/img/CreateTypeStub2.png new file mode 100644 index 0000000000000000000000000000000000000000..46c6b6b82b5addfe614eeed53fbf50eb0677ea54 GIT binary patch literal 19381 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 Xug_50|C$rHyPCn%)z4*}Q$iB}AWX{e literal 0 HcmV?d00001 diff --git a/docs/import-resolution.md b/docs/import-resolution.md index 77e4615fc..b659b347a 100644 --- a/docs/import-resolution.md +++ b/docs/import-resolution.md @@ -1,4 +1,4 @@ -## Import Resolution +# Import Resolution Pyright resolves external imports based on several configuration settings. If a venvPath and venv are specified, these are used to locate the `site-packages` directory within the virtual environment. @@ -8,18 +8,3 @@ The Pyright configuration file supports “execution environment” definitions, If Pyright is reporting import resolution errors, additional diagnostic information may help you determine why. If you are using the command-line version, try adding the “--verbose” switch. If you are using the VS Code extension, look at the “Output” window (View -> Output) and choose the “Pyright” view from the popup menu. - -## Importance of Type Stub Files - -Regardless of the search path, Pyright always attempts to resolve an import with a type stub (“.pyi”) file before falling back to a python source (“.py”) file. If a type stub cannot be located for an external import, that import will be treated as a “black box” for purposes of type analysis. Any symbols imported from these modules will be of type “Unknown”, and wildcard imports (of the form `from foo import *`) will not populate the module’s namespace with specific symbol names. - -Why does Pyright not attempt to determine types from imported python sources? There are several reasons. - -1. Imported libraries can be quite large, so analyzing them would require significant time and computation. -2. Some libraries are thin shims on top of native (C++) libraries. Little or no type information would be inferable in these cases. -3. Some libraries override Python’s default loader logic. Static analysis is not possible in these cases. -4. Type information inferred from source files is often of low value because many types cannot be inferred correctly. Even if concrete types can be inferred, generic type definitions cannot. -5. Type analysis would expose all symbols from an imported module, even those that are not meant to be exposed by the author. Unlike many other languages, Python offers no way of differentiating between a symbol that is meant to be exported and one that isn’t. - -If you’re serious about static type checking for your Python source base, it’s highly recommended that you use type stub files for all external imports. If you are unable to find a type stub for a particular library, the recommended approach is to create a custom type stub file that defines the portion of that module’s interface used by your code. Hopefully, more library authors will provide type stub files in the future. - diff --git a/docs/type-stubs.md b/docs/type-stubs.md new file mode 100644 index 000000000..0ea348124 --- /dev/null +++ b/docs/type-stubs.md @@ -0,0 +1,57 @@ +# Type Stub Files + +Type stubs are “.pyi” files that specify the public interface for a library. They use a variant of the Python syntax that allows for “...” to be used in place of any implementation details. Type stubs define the public contract for the library. + +## Importance of Type Stub Files + +Regardless of the search path, Pyright always attempts to resolve an import with a type stub (“.pyi”) file before falling back to a python source (“.py”) file. If a type stub cannot be located for an external import, that import will be treated as a “black box” for purposes of type analysis. Any symbols imported from these modules will be of type “Unknown”, and wildcard imports (of the form `from foo import *`) will not populate the module’s namespace with specific symbol names. + +Why does Pyright not attempt to determine types from imported python sources? There are several reasons. + +1. Imported libraries can be quite large, so analyzing them would require significant time and computation. +2. Some libraries are thin shims on top of native (C++) libraries. Little or no type information would be inferable in these cases. +3. Some libraries override Python’s default loader logic. Static analysis is not possible in these cases. +4. Type information inferred from source files is often of low value because many types cannot be inferred correctly. Even if concrete types can be inferred, generic type definitions cannot. +5. Type analysis would expose all symbols from an imported module, even those that are not meant to be exposed by the author. Unlike many other languages, Python offers no way of differentiating between a symbol that is meant to be exported and one that isn’t. + +If you’re serious about static type checking for your Python source base, it’s highly recommended that you use type stub files for all external imports. If you are unable to find a type stub for a particular library, the recommended approach is to create a custom type stub file that defines the portion of that module’s interface used by your code. Hopefully, more library authors will provide type stub files in the future. + +## Generating Type Stubs +If you use only a few classes, methods or functions within a library, writing a type stub file by hand is feasible. For large libraries, this can become tedious and error-prone. Pyright can generate “draft” versions of type stub files for you. + +To generate a type stub file from within VS Code, enable the “reportreportMissingTypeStubs” setting in your pyrightconfig.json file or by adding a comment `# pyright: reportMissingTypeStubs=true` to individual source files. Make sure you have the target library installed in the python environment that pyright is configued to use for import resolution. Optionally specify a “typingsPath” in your pyrightconfig.json file. This is where pyright will generate your type stub files. By default, the typingsPath is set to "./typings". + +### Generating Type Stubs in VS Code +If “reportMissingTypeStubs” is enabled, pyright will highlight any imports that have no type stub. Hover over the error message, and you will see a “Quick Fix” link. Clicking on this link will reveal a popup menu item titled “Create Type Stub For XXX”. The example below shows a missing typestub for the `django` library. + +![Pyright](/docs/img/CreateTypeStub1.png) + +Click on the menu item to create the type stub. Depending on the size of the library, it may take pyright tens of seconds to analyze the library and generate type stub files. Once complete, you should see a message in VS Code indicating success or failure. + +![Pyright](/docs/img/CreateTypeStub2.png) + +### Generating Type Stubs from Command Line +The command-line version of pyright can also be used to generate type stubs. As with the VS Code version, it must be run within the context of your configured project. Then type `pyright --createstub [import-name]`. + +For example: +`pyright --createstub django` + +### Cleaning Up Generated Type Stubs +Pyright can give you a head start by creating type stubs, but you will typically need to clean up the first draft, fixing various errors and omissions that pyright was not able to infer from the original library code. + +A few common situations that need to be cleaned up: + +1. When generating a “.pyi” file, pyright removes any imports that are not referenced. Sometimes libraries import symbols that are meant to be simply re-exported from a module even though they are not referenced internally to that module. In such cases, you will need to manually add back these imports. Pyright does not perform this import culling in `__init__.pyi` files because this re-export technique is especially common in such files. + +2. Some libraries attempt to import modules within a try statement. These constructs don’t work well in type stub files because they cannot be evaluated statically. Pyright omits any try statements when creating “.pyi” files, so you may need to add back in these import statements. + +3. Decorator functions are especially problematic for static type analyzers. Unless properly typed, they completely hide the signature of any class or function they are applied to. For this reason, it is highly recommended that you enable the “reportUntypedFunctionDecorator” and “reportUntypedClassDecorator” switches in pyrightconfig.json. Most decorators simply return the same function they are passed. Those can easily be annotated with a TypeVar like this: + +``` +from typings import Any, Callable, TypeVar + +_FuncT = TypeVar('_FuncT', bound=Callable[..., Any]) + +def my_decorator(*args, **kw) -> Callable[[_FuncT], _FuncT]: ... +``` +