Eric Traut
cab9f886de
Updated "mypy comparison" documentation based on recent improvements in mypy. It's now able to handle higher-order functions.
2024-01-16 00:32:52 -08:00
Eric Traut
cdcd4046b5
Added new language server setting pyright.disableTaggedHints
to disable the use of diagnostics hints with tags. Some language server clients do not display these tagged hints in the intended manner and instead treat them as regular diagnostics.
2024-01-14 21:11:13 -08:00
Yashraj Singh
05711a0794
corrected typo in configuration.md ( #6950 )
2024-01-09 23:30:29 -08:00
Eric Traut
24d9890f36
Added sidebar link to locale documentation section.
2024-01-05 09:46:10 -07:00
Eric Traut
4afd9a4295
Added documentation for overriding the locale via env variables.
2024-01-05 09:44:27 -07:00
Eric Traut
a635a725a0
Updated documentation to refer to "value-constrained" TypeVars rather than just "constrained TypeVars", since all TypeVars are constrained in some manner.
2023-12-31 00:19:46 -07:00
Eric Traut
fd5900f7e7
Clarified that reportOptionalOperand
applies only to the LHS operand for binary operators. This addresses #6687 .
2023-12-08 19:56:43 -08:00
Eric Traut
9c8a0f1a4a
Improved error message for set
invariance type violations. This comes from mypy issue https://github.com/python/mypy/issues/16631 .
2023-12-07 10:52:16 -08:00
Eric Traut
f605c8fb24
Added a new typeCheckingMode called "standard". It's a subset of "strict" but a superset of "basic". It is the new default mode, and it should cover all of the required checks for conformance with the Python typing standard. This addresses #66607 . ( #6627 )
2023-12-01 23:44:12 -08:00
Eric Traut
d3398850c4
Fixed documentation for class and instance variable overrides.
2023-11-28 13:21:16 -08:00
Eric Traut
5b3523ff53
Added support for parameter type inference for lambdas whose parameters include default arguments. This is analogous to the logic used for unannotated function parameters with default arguments. This addresses #6558 . ( #6563 )
2023-11-27 17:51:31 -08:00
Eric Traut
e4197c3c2b
Updated import resolution documentation to cover a case that was previously not mentioned in the docs. This addresses #6415 .
2023-11-10 18:28:46 -08:00
Eric Traut
73ec51cb37
Updated docs to further de-emphasize "venv" config option.
2023-11-07 07:44:30 -08:00
Eric Traut
a48b5fed1b
Marked PEP 702 as no longer "draft" since it was accepted.
2023-11-07 07:26:42 -08:00
Eric Traut
08a295a261
Added support for python.analysis.include
, `python.analysis.exclude… ( #6251 )
...
* Added support for `python.analysis.include`, `python.analysis.exclude` and `python.analysis.ignore` settings. These have been implemented in pylance for a while now, but they were never implemented previously in pyright. Also fixed a bug in the original implementation that caused the config file not to override the language server settings for `python.analysis.exclude` and `python.analysis.ignore` as it should. This addresses #6250 .
* Removed references to pylance in the help text.
2023-10-29 08:54:14 -07:00
Eric Traut
eee32c3c92
Updated documentation to add PEP 705.
2023-10-23 10:07:16 -07:00
Eric Traut
012dc1c182
Extended the len(x) == L
type guard logic to support arbitrary expressions L
that evaluate to a literal int type. This addresses #6216 . ( #6219 )
2023-10-21 12:09:19 -07:00
Eric Traut
b360d00ada
Updated docs based on a recent change in mypy.
2023-10-21 11:42:54 -07:00
Eric Traut
db8fb3d60c
Improved documentation for overload matching.
2023-10-16 13:19:38 -07:00
Eric Traut
a6f27a5dc8
Added PEP 724 to supported PEPs list in the documentation.
2023-10-13 20:11:14 -07:00
Erik De Bonte
4137f0ca43
Docs could be clearer about which .pth
files work in editable install scenarios ( #6079 )
2023-10-03 16:37:00 -07:00
klezm
851571c10f
Adds default value for reportImplicitOverride to docs/configuration.md ( #6056 )
2023-10-02 07:43:24 -07:00
Eric Traut
fe1e16ec1e
Added a new configuration switch disableBytesTypePromotions
that controls whether bytearray
and memoryview
should be implicit subtypes of bytes
. This switch defaults to false in basic type checking mode and true in strict mode. Eventually, we will probably have it default to true in all modes. ( #6024 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com>
2023-09-25 12:00:40 -07:00
Eric Traut
66bf443e1c
Updated documentation to reflect recent addition to mypy functionality.
2023-08-28 08:10:28 -07:00
Eric Traut
9cce48b6e3
Updated mypy comparison documentation. This addresses #5818 .
2023-08-26 07:45:35 -07:00
Eric Traut
4474b7d36b
Added a new configuration option deprecateTypingAliases
that enables deprecation detection and reporting for symbols imported from the typing
module that are deprecated according to PEP 585 and 604. The option is currently disabled by default (even in strict mode) but can be enabled manually. This addresses #3598 . ( #5812 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com>
2023-08-25 11:17:37 -07:00
Eric Traut
e2cf85f24c
Updated mypy comparison to reflect the fact that mypy's support for ParamSpecs now supports overloaded functions.
2023-08-21 11:04:30 -07:00
Eric Traut
050a3c6cea
Fixed a bug in the command-line version of pyright where it did not enable "auto search paths", so it didn't automatically add "src" as an extra path. This addresses https://github.com/microsoft/pyright/issues/4771 .
2023-07-31 23:27:45 -06:00
Eric Traut
3f7c20213d
Documented the difference between mypy's and pyright's handling of None
return type.
2023-07-30 10:41:23 -06:00
Eric Traut
501681295b
Modified type inference logic so methods that raise an exception whose type derives from NotImplementedError
is not inferred to return NoReturn
. Previously, only NotImplementedError
was exempted, not subclasses. This addresses https://github.com/microsoft/pyright/issues/5608 . ( #5609 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com>
2023-07-29 22:45:10 -06:00
Eric Traut
d81ffb7b5c
Added a new configuration options flag called enableExperimentalFeatures
that controls whether certain experimental features are enabled. Currently there are three features under this flag: StrictTypeGuard
, ReadOnly
fields for typed dicts, and inlined TypedDict
definitions. This addresses https://github.com/microsoft/pyright/issues/5598 .
2023-07-28 22:22:08 -06:00
Eric Traut
9fd63fea86
Fixed small typo in documentation.
2023-07-26 21:57:51 -06:00
Eric Traut
a34eb58fc9
Added section on plugins to the comparison with mypy.
2023-07-22 08:25:37 -07:00
Eric Traut
99dfe982a1
Added documentation about overloads and ParamSpec.
2023-07-22 07:23:43 -07:00
Eric Traut
19194dd089
Fixed an inconsistency in reporting of unbound variables when the variable is captured by an inner scope. The new behavior correctly identifies unbound (or potentially unbound) variables in cases where the captured variable is narrowed. This happens when there are no assignments to the variable after it is captured. This addresses #5548 . ( #5551 )
...
Fixed a bug in type narrowing for captured variables. Captured variables that are modified in other scopes using a `nonlocal` or `global` binding should be ineligible for type narrowing.
Co-authored-by: Eric Traut <erictr@microsoft.com>
2023-07-20 21:08:53 -07:00
Eric Traut
98fcba13dd
Added support for the X is C
and X is not C
type guard pattern (where C
is a class). This addresses #5490 . ( #5544 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com>
2023-07-19 20:28:55 -07:00
Eric Traut
6a25a7bf0b
Removed the requirement that a TypedDict
be marked @final
for it to be considered for type narrowing as part of a S in D
type guard pattern. This requirement wasn't sound because TypedDict is a structural type (i.e. a protocol), so @final
doesn't have any real meaning.
2023-07-17 08:01:52 -07:00
Eric Traut
0a67c65bef
Clarified in documentation that no_type_check
is not supported.
2023-06-30 08:39:10 +02:00
Eric Traut
c767228a82
Improved documentation for "implied else" type narrowing.
2023-06-29 01:28:19 +02:00
Eric Traut
5568b4dc95
Enhanced command-line version of pyright to allow file or directory names to be passed via stdin if -
option is used in the command line. This addresses https://github.com/microsoft/pyright/issues/5342 .
2023-06-19 18:00:31 -07:00
Eric Traut
2de35e3684
Added documentation about higher-order functions.
2023-06-18 00:00:06 -07:00
Eric Traut
8d9910eb89
Added more details about difference between mypy and pyright overload resolution in ambiguous cases.
2023-06-15 16:01:12 -07:00
Ross J. Duff, MSc
b12ca05927
Clarification of --version argument usage string ( #5308 )
...
* Update command-line.md
clarify that `--version` prints the version *and exits*
* Update --version usage string
Clarifies that `--version` prints the version *and exits*, this is fairly common language used by most CLI apps to indicate what the behavior of `--version` is. It may surprise new users that `--version` exits rather than appending the version with the previous language.
2023-06-15 08:42:26 -07:00
Serhii Tereshchenko
0d0e716f92
Update ci-integration.md ( #5259 )
...
When both scripts are executed in `scripts:` section, and `pyright` reports error, second script is not executed.
Best way to ensure report are always converted, is to use `after_script:` block.
2023-06-09 08:37:45 -06:00
Eric Traut
24b612fda2
Reverted overload change for now. It's causing breaks in the pandas-stubs library. More investigation is needed.
2023-06-06 17:53:24 -06:00
Eric Traut
5ca3d900fd
Deleted redundant documentation.
2023-06-05 15:06:24 -06:00
Eric Traut
746e03a49d
Modified overload matching algorithm to better match that of mypy. In particular, if overload matching is ambiguous due to an Any
or Unknown
anywhere within an argument type (even within type arguments) and the resulting filtered overloads return the same generic type but with different type arguments, the resulting type was previously the return type of the first filtered overload. It is now the common generic type with erased type arguments. This addresses https://github.com/microsoft/pyright/issues/5216 .
2023-06-03 17:36:09 -06:00
Eric Traut
6e6c3664b3
Added documentation for pyright's handling of constructor calls and how this differs from mypy.
2023-05-25 18:36:11 -07:00
Erik De Bonte
b971a0c689
Add PEP 712 to features.md ( #5143 )
2023-05-19 17:07:39 -07:00
Eric Traut
35a2ed939c
Updated features documentation to mark PEP 695 as no longer in draft form.
2023-05-15 23:16:36 -07:00