2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "description": "Pyright Configuration Schema",
5 "allowTrailingCommas": true,
27 "$id": "#/properties/include",
29 "title": "Files and directories included in type analysis",
31 "$id": "#/properties/include/items",
33 "title": "File or directory to include in type analysis",
38 "$id": "#/properties/exclude",
40 "title": "Files and directories excluded from type analysis",
42 "$id": "#/properties/exclude/items",
44 "title": "File or directory to exclude from type analysis",
49 "$id": "#/properties/ignore",
51 "title": "Files and directories whose diagnostics are suppressed",
53 "$id": "#/properties/ignore/items",
55 "title": "File or directory where diagnostics should be suppressed",
60 "$id": "#/properties/strict",
62 "title": "Files and directories that should use 'strict' type checking rules",
64 "$id": "#/properties/strict/items",
66 "title": "File or directory that should use 'strict' type checking rules",
71 "$id": "#/properties/typeCheckingMode",
78 "title": "Specifies the default rule set to use for type checking",
81 "useLibraryCodeForTypes": {
82 "$id": "#/properties/useLibraryCodeForTypes",
84 "title": "Use library implementations to extract type information when type stub is not present",
88 "$id": "#/properties/typeshedPath",
90 "title": "Path to directory containing typeshed type stub files",
95 "$id": "#/properties/stubPath",
97 "title": "Path to directory containing custom type stub files",
104 "strictListInference": {
105 "$id": "#/properties/strictListInference",
107 "title": "Infer strict types for list expressions",
110 "strictSetInference": {
111 "$id": "#/properties/strictSetInference",
113 "title": "Infer strict types for set expressions",
116 "strictDictionaryInference": {
117 "$id": "#/properties/strictDictionaryInference",
119 "title": "Infer strict types for dictionary expressions",
122 "strictParameterNoneValue": {
123 "$id": "#/properties/strictParameterNoneValue",
125 "title": "Allow implicit Optional when default parameter value is None",
128 "enableTypeIgnoreComments": {
129 "$id": "#/properties/enableTypeIgnoreComments",
131 "title": "Allow \"# type: ignore\" comments",
134 "reportGeneralTypeIssues": {
135 "$id": "#/properties/reportGeneralTypeIssues",
136 "$ref": "#/definitions/diagnostic",
137 "title": "Controls reporting of general type issues",
140 "reportPropertyTypeMismatch": {
141 "$id": "#/properties/reportPropertyTypeMismatch",
142 "$ref": "#/definitions/diagnostic",
143 "title": "Controls reporting of property getter/setter type mismatches",
146 "reportFunctionMemberAccess": {
147 "$id": "#/properties/reportFunctionMemberAccess",
148 "$ref": "#/definitions/diagnostic",
149 "title": "Controls reporting of member accesses on function objects",
152 "reportMissingImports": {
153 "$id": "#/properties/reportMissingImports",
154 "$ref": "#/definitions/diagnostic",
155 "title": "Controls reporting of imports that cannot be resolved",
158 "reportMissingModuleSource": {
159 "$id": "#/properties/reportMissingModuleSource",
160 "$ref": "#/definitions/diagnostic",
161 "title": "Controls reporting of imports that cannot be resolved to source files",
164 "reportMissingTypeStubs": {
165 "$id": "#/properties/reportMissingTypeStubs",
166 "$ref": "#/definitions/diagnostic",
167 "title": "Controls reporting of imports that cannot be resolved to type stub files",
170 "reportImportCycles": {
171 "$id": "#/properties/reportImportCycles",
172 "$ref": "#/definitions/diagnostic",
173 "title": "Controls reporting of module imports that create cycles in import graph",
176 "reportUnusedImport": {
177 "$id": "#/properties/reportUnusedImport",
178 "$ref": "#/definitions/diagnostic",
179 "title": "Controls reporting of imported symbols that are not referenced within the source file",
182 "reportUnusedClass": {
183 "$id": "#/properties/reportUnusedClass",
184 "$ref": "#/definitions/diagnostic",
185 "title": "Controls reporting of private classes that are not accessed",
188 "reportUnusedFunction": {
189 "$id": "#/properties/reportUnusedFunction",
190 "$ref": "#/definitions/diagnostic",
191 "title": "Controls reporting of private functions or methods that are not accessed",
194 "reportUnusedVariable": {
195 "$id": "#/properties/reportUnusedVariable",
196 "$ref": "#/definitions/diagnostic",
197 "title": "Controls reporting of local variables that are not accessed",
200 "reportDuplicateImport": {
201 "$id": "#/properties/reportDuplicateImport",
202 "$ref": "#/definitions/diagnostic",
203 "title": "Controls reporting of symbols or modules that are imported more than once",
206 "reportWildcardImportFromLibrary": {
207 "$id": "#/properties/reportWildcardImportFromLibrary",
208 "$ref": "#/definitions/diagnostic",
209 "title": "Controls reporting of wlidcard import from external library",
212 "reportOptionalSubscript": {
213 "$id": "#/properties/reportOptionalSubscript",
214 "$ref": "#/definitions/diagnostic",
215 "title": "Controls reporting of attempts to subscript (index) a variable with Optional type",
218 "reportOptionalMemberAccess": {
219 "$id": "#/properties/reportOptionalMemberAccess",
220 "$ref": "#/definitions/diagnostic",
221 "title": "Controls reporting of attempts to access a member of a variable with Optional type",
224 "reportOptionalCall": {
225 "$id": "#/properties/reportOptionalCall",
226 "$ref": "#/definitions/diagnostic",
227 "title": "Controls reporting of attempts to call a variable with Optional type",
230 "reportOptionalIterable": {
231 "$id": "#/properties/reportOptionalIterable",
232 "$ref": "#/definitions/diagnostic",
233 "title": "Controls reporting of attempts to use an Optional type as an iterable value",
236 "reportOptionalContextManager": {
237 "$id": "#/properties/reportOptionalContextManager",
238 "$ref": "#/definitions/diagnostic",
239 "title": "Controls reporting of attempts to use an Optional type as a parameter to a with statement",
242 "reportOptionalOperand": {
243 "$id": "#/properties/reportOptionalOperand",
244 "$ref": "#/definitions/diagnostic",
245 "title": "Controls reporting of attempts to use an Optional type as an operand for a binary or unary operator",
248 "reportTypedDictNotRequiredAccess": {
249 "$id": "#/properties/reportTypedDictNotRequiredAccess",
250 "$ref": "#/definitions/diagnostic",
251 "title": "Controls reporting of attempts to access a non-required key in a TypedDict without a check for its presence",
254 "reportUntypedFunctionDecorator": {
255 "$id": "#/properties/reportUntypedFunctionDecorator",
256 "$ref": "#/definitions/diagnostic",
257 "title": "Controls reporting of function decorators without type annotations, which obscure function types",
260 "reportUntypedClassDecorator": {
261 "$id": "#/properties/reportUntypedClassDecorator",
262 "$ref": "#/definitions/diagnostic",
263 "title": "Controls reporting of class decorators without type annotations, which obscure class types",
266 "reportUntypedBaseClass": {
267 "$id": "#/properties/reportUntypedBaseClass",
268 "$ref": "#/definitions/diagnostic",
269 "title": "Controls reporting of a base class of an unknown type, which obscures most type checking for the class",
272 "reportUntypedNamedTuple": {
273 "$id": "#/properties/reportUntypedNamedTuple",
274 "$ref": "#/definitions/diagnostic",
275 "title": "Controls reporting of a named tuple definition that does not contain type information",
278 "reportPrivateUsage": {
279 "$id": "#/properties/reportPrivateUsage",
280 "$ref": "#/definitions/diagnostic",
281 "title": "Controls reporting of private variables and functions used outside of the owning class or module and usage of protected members outside of subclasses",
284 "reportPrivateImportUsage": {
285 "$id": "#/properties/reportPrivateImportUsage",
286 "$ref": "#/definitions/diagnostic",
287 "title": "Controls reporting of improper usage of symbol imported from a \"py.typed\" module that is not re-exported from that module",
290 "reportConstantRedefinition": {
291 "$id": "#/properties/reportConstantRedefinition",
292 "$ref": "#/definitions/diagnostic",
293 "title": "Controls reporting of attempts to redefine variables that are in all-caps",
296 "reportIncompatibleMethodOverride": {
297 "$id": "#/properties/reportIncompatibleMethodOverride",
298 "$ref": "#/definitions/diagnostic",
299 "title": "Controls reporting of method overrides in subclasses that redefine the method in an incompatible way",
302 "reportIncompatibleVariableOverride": {
303 "$id": "#/properties/reportIncompatibleVariableOverride",
304 "$ref": "#/definitions/diagnostic",
305 "title": "Controls reporting of overrides in subclasses that redefine a variable in an incompatible way",
308 "reportOverlappingOverload": {
309 "$id": "#/properties/reportOverlappingOverload",
310 "$ref": "#/definitions/diagnostic",
311 "title": "Controls reporting of function overloads that overlap in signature and obscure each other or do not agree on return type",
314 "reportUninitializedInstanceVariable": {
315 "$id": "#/properties/reportUninitializedInstanceVariable",
316 "$ref": "#/definitions/diagnostic",
317 "title": "Controls reporting of instance variables that are not initialized in the constructor",
320 "reportInvalidStringEscapeSequence": {
321 "$id": "#/properties/reportInvalidStringEscapeSequence",
322 "$ref": "#/definitions/diagnostic",
323 "title": "Controls reporting of invalid escape sequences used within string literals",
326 "reportUnknownParameterType": {
327 "$id": "#/properties/reportUnknownParameterType",
328 "$ref": "#/definitions/diagnostic",
329 "title": "Controls reporting input and return parameters whose types are unknown",
332 "reportUnknownArgumentType": {
333 "$id": "#/properties/reportUnknownArgumentType",
334 "$ref": "#/definitions/diagnostic",
335 "title": "Controls reporting argument expressions whose types are unknown",
338 "reportUnknownLambdaType": {
339 "$id": "#/properties/reportUnknownLambdaType",
340 "$ref": "#/definitions/diagnostic",
341 "title": "Controls reporting input and return parameters for lambdas whose types are unknown",
344 "reportUnknownVariableType": {
345 "$id": "#/properties/reportUnknownVariableType",
346 "$ref": "#/definitions/diagnostic",
347 "title": "Controls reporting local variables whose types are unknown",
350 "reportUnknownMemberType": {
351 "$id": "#/properties/reportUnknownMemberType",
352 "$ref": "#/definitions/diagnostic",
353 "title": "Controls reporting class and instance variables whose types are unknown",
356 "reportMissingParameterType": {
357 "$id": "#/properties/reportMissingParameterType",
358 "$ref": "#/definitions/diagnostic",
359 "title": "Controls reporting input parameters that are missing a type annotation",
362 "reportMissingTypeArgument": {
363 "$id": "#/properties/reportMissingTypeArgument",
364 "$ref": "#/definitions/diagnostic",
365 "title": "Controls reporting generic class reference with missing type arguments",
368 "reportInvalidTypeVarUse": {
369 "$id": "#/properties/reportInvalidTypeVarUse",
370 "$ref": "#/definitions/diagnostic",
371 "title": "Controls reporting improper use of type variables within function signatures",
374 "reportCallInDefaultInitializer": {
375 "$id": "#/properties/reportCallInDefaultInitializer",
376 "$ref": "#/definitions/diagnostic",
377 "title": "Controls reporting usage of function calls within a default value initializer expression",
380 "reportUnnecessaryIsInstance": {
381 "$id": "#/properties/reportUnnecessaryIsInstance",
382 "$ref": "#/definitions/diagnostic",
383 "title": "Controls reporting calls to 'isinstance' or 'issubclass' where the result is statically determined to be always true",
386 "reportUnnecessaryCast": {
387 "$id": "#/properties/reportUnnecessaryCast",
388 "$ref": "#/definitions/diagnostic",
389 "title": "Controls reporting calls to 'cast' that are unnecessary",
392 "reportUnnecessaryComparison": {
393 "$id": "#/properties/reportUnnecessaryComparison",
394 "$ref": "#/definitions/diagnostic",
395 "title": "Controls reporting the use of '==' or '!=' comparisons that are unnecessary",
398 "reportAssertAlwaysTrue": {
399 "$id": "#/properties/reportAssertAlwaysTrue",
400 "$ref": "#/definitions/diagnostic",
401 "title": "Controls reporting assert expressions that will always evaluate to true",
404 "reportSelfClsParameterName": {
405 "$id": "#/properties/reportSelfClsParameterName",
406 "$ref": "#/definitions/diagnostic",
407 "title": "Controls reporting assert expressions that will always evaluate to true",
410 "reportImplicitStringConcatenation": {
411 "$id": "#/properties/reportImplicitStringConcatenation",
412 "$ref": "#/definitions/diagnostic",
413 "title": "Controls reporting usage of implicit concatenation of string literals",
416 "reportUnboundVariable": {
417 "$id": "#/properties/reportUnboundVariable",
418 "$ref": "#/definitions/diagnostic",
419 "title": "Controls reporting of attempts to use an unbound or possibly unbound variable",
422 "reportUndefinedVariable": {
423 "$id": "#/properties/reportUndefinedVariable",
424 "$ref": "#/definitions/diagnostic",
425 "title": "Controls reporting of attempts to use an undefined variable",
428 "reportInvalidStubStatement": {
429 "$id": "#/properties/reportInvalidStubStatement",
430 "$ref": "#/definitions/diagnostic",
431 "title": "Controls reporting of type stub statements that do not conform to PEP 484",
434 "reportIncompleteStub": {
435 "$id": "#/properties/reportIncompleteStub",
436 "$ref": "#/definitions/diagnostic",
437 "title": "Controls reporting of incomplete type stubs that declare a module-level __getattr__ function",
440 "reportUnsupportedDunderAll": {
441 "$id": "#/properties/reportUnsupportedDunderAll",
442 "$ref": "#/definitions/diagnostic",
443 "title": "Controls reporting of unsupported operations performed on __all__",
446 "reportUnusedCallResult": {
447 "$id": "#/properties/reportUnusedCallResult",
448 "$ref": "#/definitions/diagnostic",
449 "title": "Controls reporting of call expressions whose results are not consumed",
452 "reportUnusedCoroutine": {
453 "$id": "#/properties/reportUnusedCoroutine",
454 "$ref": "#/definitions/diagnostic",
455 "title": "Controls reporting of call expressions that returns Coroutine whose results are not consumed",
459 "$id": "#/properties/executionEnvironments/items/properties/extraPaths",
461 "title": "Additional import search resolution paths",
463 "$id": "#/properties/executionEnvironments/items/properties/extraPaths/items",
465 "title": "Additional import search resolution path",
471 "$id": "#/properties/pythonVersion",
473 "title": "Python version to assume during type analysis",
478 "pattern": "^3\\.[0-9]+$"
481 "$id": "#/properties/pythonPlatform",
483 "title": "Python platform to assume during type analysis",
488 "pattern": "^(Linux|Windows|Darwin|All)$"
491 "$id": "#/properties/venvPath",
493 "title": "Path to directory containing a folder of virtual environments",
498 "$id": "#/properties/venv",
500 "title": "Name of virtual environment subdirectory within venvPath",
508 "$id": "#/properties/verboseOutput",
510 "title": "Output verbose logging",
513 "executionEnvironments": {
514 "$id": "#/properties/executionEnvironments",
516 "title": "Analysis settings to use for specified subdirectories of code",
518 "$id": "#/properties/executionEnvironments/items",
520 "title": "Analysis settings to use for specified subdirectories of code",
526 "$id": "#/properties/executionEnvironments/items/properties/root",
528 "title": "Path to code subdirectory to which these settings apply",
533 "$id": "#/properties/executionEnvironments/items/properties/extraPaths",
535 "title": "Additional import search resolution paths",
537 "$id": "#/properties/executionEnvironments/items/properties/extraPaths/items",
539 "title": "Additional import search resolution path",
545 "$id": "#/properties/pythonVersion",
547 "title": "Python version to assume during type analysis",
552 "pattern": "^3\\.[0-9]+$"
555 "$id": "#/properties/pythonPlatform",
557 "title": "Python platform to assume during type analysis",
562 "pattern": "^(Linux|Windows|Darwin|All)$"