{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/pyright/latest.json",
  "description": "Pyright Configuration Schema",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/microsoft/pyright/main/packages/vscode-pyright/schemas/pyrightconfig.schema.json",
    "sourceSha256": "29553aa39097b735770599139123fa6816a51fcb428a44e755ed35ebf913a022",
    "fileMatch": [
      "pyrightconfig.json"
    ],
    "parsers": [
      "json"
    ]
  },
  "type": "object",
  "properties": {
    "extends": {
      "type": "string",
      "title": "Path to configuration file that this configuration extends",
      "pattern": "^(.*)$"
    },
    "include": {
      "type": "array",
      "title": "Files and directories included in type analysis",
      "items": {
        "type": "string",
        "title": "File or directory to include in type analysis",
        "pattern": "^(.*)$"
      }
    },
    "exclude": {
      "type": "array",
      "title": "Files and directories excluded from type analysis",
      "items": {
        "type": "string",
        "title": "File or directory to exclude from type analysis",
        "pattern": "^(.*)$"
      }
    },
    "ignore": {
      "type": "array",
      "title": "Files and directories whose diagnostics are suppressed",
      "items": {
        "type": "string",
        "title": "File or directory where diagnostics should be suppressed",
        "pattern": "^(.*)$"
      }
    },
    "strict": {
      "type": "array",
      "title": "Files and directories that should use 'strict' type checking rules",
      "items": {
        "type": "string",
        "title": "File or directory that should use 'strict' type checking rules",
        "pattern": "^(.*)$"
      }
    },
    "defineConstant": {
      "type": "object",
      "title": "Identifiers that should be treated as constants",
      "properties": {},
      "additionalProperties": {
        "type": [
          "string",
          "boolean"
        ],
        "title": "Value of constant (boolean or string)"
      }
    },
    "typeCheckingMode": {
      "type": "string",
      "enum": [
        "off",
        "basic",
        "standard",
        "strict"
      ],
      "title": "Specifies the default rule set to use for type checking",
      "default": "standard"
    },
    "useLibraryCodeForTypes": {
      "type": "boolean",
      "title": "Use library implementations to extract type information when type stub is not present",
      "default": true
    },
    "typeshedPath": {
      "type": "string",
      "title": "Path to directory containing typeshed type stub files",
      "default": "",
      "pattern": "^(.*)$"
    },
    "stubPath": {
      "type": "string",
      "title": "Path to directory containing custom type stub files",
      "default": "./typings",
      "examples": [
        "src/typestubs"
      ],
      "pattern": "^(.*)$"
    },
    "disableBytesTypePromotions": {
      "$ref": "#/$defs/disableBytesTypePromotions"
    },
    "strictListInference": {
      "$ref": "#/$defs/strictListInference"
    },
    "strictSetInference": {
      "$ref": "#/$defs/strictSetInference"
    },
    "strictDictionaryInference": {
      "$ref": "#/$defs/strictDictionaryInference"
    },
    "analyzeUnannotatedFunctions": {
      "$ref": "#/$defs/analyzeUnannotatedFunctions"
    },
    "strictParameterNoneValue": {
      "$ref": "#/$defs/strictParameterNoneValue"
    },
    "enableExperimentalFeatures": {
      "$ref": "#/$defs/enableExperimentalFeatures"
    },
    "enableTypeIgnoreComments": {
      "$ref": "#/$defs/enableTypeIgnoreComments"
    },
    "enableReachabilityAnalysis": {
      "$ref": "#/$defs/enableReachabilityAnalysis"
    },
    "deprecateTypingAliases": {
      "$ref": "#/$defs/deprecateTypingAliases"
    },
    "reportGeneralTypeIssues": {
      "$ref": "#/$defs/reportGeneralTypeIssues"
    },
    "reportPropertyTypeMismatch": {
      "$ref": "#/$defs/reportPropertyTypeMismatch"
    },
    "reportFunctionMemberAccess": {
      "$ref": "#/$defs/reportFunctionMemberAccess"
    },
    "reportMissingImports": {
      "$ref": "#/$defs/reportMissingImports"
    },
    "reportMissingModuleSource": {
      "$ref": "#/$defs/reportMissingModuleSource"
    },
    "reportInvalidTypeForm": {
      "$ref": "#/$defs/reportInvalidTypeForm"
    },
    "reportMissingTypeStubs": {
      "$ref": "#/$defs/reportMissingTypeStubs"
    },
    "reportImportCycles": {
      "$ref": "#/$defs/reportImportCycles"
    },
    "reportUnusedImport": {
      "$ref": "#/$defs/reportUnusedImport"
    },
    "reportUnusedClass": {
      "$ref": "#/$defs/reportUnusedClass"
    },
    "reportUnusedFunction": {
      "$ref": "#/$defs/reportUnusedFunction"
    },
    "reportUnusedVariable": {
      "$ref": "#/$defs/reportUnusedVariable"
    },
    "reportDuplicateImport": {
      "$ref": "#/$defs/reportDuplicateImport"
    },
    "reportWildcardImportFromLibrary": {
      "$ref": "#/$defs/reportWildcardImportFromLibrary"
    },
    "reportAbstractUsage": {
      "$ref": "#/$defs/reportAbstractUsage"
    },
    "reportArgumentType": {
      "$ref": "#/$defs/reportArgumentType"
    },
    "reportAssertTypeFailure": {
      "$ref": "#/$defs/reportAssertTypeFailure"
    },
    "reportAssignmentType": {
      "$ref": "#/$defs/reportAssignmentType"
    },
    "reportAttributeAccessIssue": {
      "$ref": "#/$defs/reportAttributeAccessIssue"
    },
    "reportCallIssue": {
      "$ref": "#/$defs/reportCallIssue"
    },
    "reportInconsistentOverload": {
      "$ref": "#/$defs/reportInconsistentOverload"
    },
    "reportIndexIssue": {
      "$ref": "#/$defs/reportIndexIssue"
    },
    "reportInvalidTypeArguments": {
      "$ref": "#/$defs/reportInvalidTypeArguments"
    },
    "reportNoOverloadImplementation": {
      "$ref": "#/$defs/reportNoOverloadImplementation"
    },
    "reportOperatorIssue": {
      "$ref": "#/$defs/reportOperatorIssue"
    },
    "reportOptionalSubscript": {
      "$ref": "#/$defs/reportOptionalSubscript"
    },
    "reportOptionalMemberAccess": {
      "$ref": "#/$defs/reportOptionalMemberAccess"
    },
    "reportOptionalCall": {
      "$ref": "#/$defs/reportOptionalCall"
    },
    "reportOptionalIterable": {
      "$ref": "#/$defs/reportOptionalIterable"
    },
    "reportOptionalContextManager": {
      "$ref": "#/$defs/reportOptionalContextManager"
    },
    "reportOptionalOperand": {
      "$ref": "#/$defs/reportOptionalOperand"
    },
    "reportRedeclaration": {
      "$ref": "#/$defs/reportRedeclaration"
    },
    "reportReturnType": {
      "$ref": "#/$defs/reportReturnType"
    },
    "reportTypedDictNotRequiredAccess": {
      "$ref": "#/$defs/reportTypedDictNotRequiredAccess"
    },
    "reportUntypedFunctionDecorator": {
      "$ref": "#/$defs/reportUntypedFunctionDecorator"
    },
    "reportUntypedClassDecorator": {
      "$ref": "#/$defs/reportUntypedClassDecorator"
    },
    "reportUntypedBaseClass": {
      "$ref": "#/$defs/reportUntypedBaseClass"
    },
    "reportUntypedNamedTuple": {
      "$ref": "#/$defs/reportUntypedNamedTuple"
    },
    "reportPrivateUsage": {
      "$ref": "#/$defs/reportPrivateUsage"
    },
    "reportTypeCommentUsage": {
      "$ref": "#/$defs/reportTypeCommentUsage"
    },
    "reportPrivateImportUsage": {
      "$ref": "#/$defs/reportPrivateImportUsage"
    },
    "reportConstantRedefinition": {
      "$ref": "#/$defs/reportConstantRedefinition"
    },
    "reportDeprecated": {
      "$ref": "#/$defs/reportDeprecated"
    },
    "reportIncompatibleMethodOverride": {
      "$ref": "#/$defs/reportIncompatibleMethodOverride"
    },
    "reportIncompatibleVariableOverride": {
      "$ref": "#/$defs/reportIncompatibleVariableOverride"
    },
    "reportInconsistentConstructor": {
      "$ref": "#/$defs/reportInconsistentConstructor"
    },
    "reportOverlappingOverload": {
      "$ref": "#/$defs/reportOverlappingOverload"
    },
    "reportPossiblyUnboundVariable": {
      "$ref": "#/$defs/reportPossiblyUnboundVariable"
    },
    "reportMissingSuperCall": {
      "$ref": "#/$defs/reportMissingSuperCall"
    },
    "reportUninitializedInstanceVariable": {
      "$ref": "#/$defs/reportUninitializedInstanceVariable"
    },
    "reportInvalidStringEscapeSequence": {
      "$ref": "#/$defs/reportInvalidStringEscapeSequence"
    },
    "reportUnknownParameterType": {
      "$ref": "#/$defs/reportUnknownParameterType"
    },
    "reportUnknownArgumentType": {
      "$ref": "#/$defs/reportUnknownArgumentType"
    },
    "reportUnknownLambdaType": {
      "$ref": "#/$defs/reportUnknownLambdaType"
    },
    "reportUnknownVariableType": {
      "$ref": "#/$defs/reportUnknownVariableType"
    },
    "reportUnknownMemberType": {
      "$ref": "#/$defs/reportUnknownMemberType"
    },
    "reportMissingParameterType": {
      "$ref": "#/$defs/reportMissingParameterType"
    },
    "reportMissingTypeArgument": {
      "$ref": "#/$defs/reportMissingTypeArgument"
    },
    "reportInvalidTypeVarUse": {
      "$ref": "#/$defs/reportInvalidTypeVarUse"
    },
    "reportCallInDefaultInitializer": {
      "$ref": "#/$defs/reportCallInDefaultInitializer"
    },
    "reportUnnecessaryIsInstance": {
      "$ref": "#/$defs/reportUnnecessaryIsInstance"
    },
    "reportUnnecessaryCast": {
      "$ref": "#/$defs/reportUnnecessaryCast"
    },
    "reportUnnecessaryComparison": {
      "$ref": "#/$defs/reportUnnecessaryComparison"
    },
    "reportUnnecessaryContains": {
      "$ref": "#/$defs/reportUnnecessaryContains"
    },
    "reportAssertAlwaysTrue": {
      "$ref": "#/$defs/reportAssertAlwaysTrue"
    },
    "reportSelfClsParameterName": {
      "$ref": "#/$defs/reportSelfClsParameterName"
    },
    "reportImplicitStringConcatenation": {
      "$ref": "#/$defs/reportImplicitStringConcatenation"
    },
    "reportUnboundVariable": {
      "$ref": "#/$defs/reportUnboundVariable"
    },
    "reportUnhashable": {
      "$ref": "#/$defs/reportUnhashable"
    },
    "reportUndefinedVariable": {
      "$ref": "#/$defs/reportUndefinedVariable"
    },
    "reportInvalidStubStatement": {
      "$ref": "#/$defs/reportInvalidStubStatement"
    },
    "reportIncompleteStub": {
      "$ref": "#/$defs/reportIncompleteStub"
    },
    "reportUnsupportedDunderAll": {
      "$ref": "#/$defs/reportUnsupportedDunderAll"
    },
    "reportUnusedCallResult": {
      "$ref": "#/$defs/reportUnusedCallResult"
    },
    "reportUnusedCoroutine": {
      "$ref": "#/$defs/reportUnusedCoroutine"
    },
    "reportUnusedExcept": {
      "$ref": "#/$defs/reportUnusedExcept"
    },
    "reportUnusedExpression": {
      "$ref": "#/$defs/reportUnusedExpression"
    },
    "reportUnnecessaryTypeIgnoreComment": {
      "$ref": "#/$defs/reportUnnecessaryTypeIgnoreComment"
    },
    "reportMatchNotExhaustive": {
      "$ref": "#/$defs/reportMatchNotExhaustive"
    },
    "reportUnreachable": {
      "$ref": "#/$defs/reportUnreachable"
    },
    "reportImplicitOverride": {
      "$ref": "#/$defs/reportImplicitOverride"
    },
    "extraPaths": {
      "$ref": "#/$defs/extraPaths"
    },
    "pythonVersion": {
      "$ref": "#/$defs/pythonVersion"
    },
    "pythonPlatform": {
      "$ref": "#/$defs/pythonPlatform"
    },
    "venvPath": {
      "type": "string",
      "title": "Path to directory containing a folder of virtual environments",
      "default": "",
      "pattern": "^(.*)$"
    },
    "venv": {
      "type": "string",
      "title": "Name of virtual environment subdirectory within venvPath",
      "default": "",
      "examples": [
        "python37"
      ],
      "pattern": "^(.*)$"
    },
    "verboseOutput": {
      "type": "boolean",
      "title": "Output verbose logging",
      "default": false
    },
    "executionEnvironments": {
      "type": "array",
      "title": "Analysis settings to use for specified subdirectories of code",
      "items": {
        "type": "object",
        "title": "Analysis settings to use for specified subdirectories of code",
        "required": [
          "root"
        ],
        "properties": {
          "root": {
            "type": "string",
            "title": "Path to code subdirectory to which these settings apply",
            "default": "",
            "pattern": "^(.*)$"
          },
          "disableBytesTypePromotions": {
            "$ref": "#/$defs/disableBytesTypePromotions"
          },
          "strictListInference": {
            "$ref": "#/$defs/strictListInference"
          },
          "strictSetInference": {
            "$ref": "#/$defs/strictSetInference"
          },
          "strictDictionaryInference": {
            "$ref": "#/$defs/strictDictionaryInference"
          },
          "analyzeUnannotatedFunctions": {
            "$ref": "#/$defs/analyzeUnannotatedFunctions"
          },
          "strictParameterNoneValue": {
            "$ref": "#/$defs/strictParameterNoneValue"
          },
          "enableExperimentalFeatures": {
            "$ref": "#/$defs/enableExperimentalFeatures"
          },
          "enableTypeIgnoreComments": {
            "$ref": "#/$defs/enableTypeIgnoreComments"
          },
          "enableReachabilityAnalysis": {
            "$ref": "#/$defs/enableReachabilityAnalysis"
          },
          "deprecateTypingAliases": {
            "$ref": "#/$defs/deprecateTypingAliases"
          },
          "reportGeneralTypeIssues": {
            "$ref": "#/$defs/reportGeneralTypeIssues"
          },
          "reportPropertyTypeMismatch": {
            "$ref": "#/$defs/reportPropertyTypeMismatch"
          },
          "reportFunctionMemberAccess": {
            "$ref": "#/$defs/reportFunctionMemberAccess"
          },
          "reportMissingImports": {
            "$ref": "#/$defs/reportMissingImports"
          },
          "reportMissingModuleSource": {
            "$ref": "#/$defs/reportMissingModuleSource"
          },
          "reportInvalidTypeForm": {
            "$ref": "#/$defs/reportInvalidTypeForm"
          },
          "reportMissingTypeStubs": {
            "$ref": "#/$defs/reportMissingTypeStubs"
          },
          "reportImportCycles": {
            "$ref": "#/$defs/reportImportCycles"
          },
          "reportUnusedImport": {
            "$ref": "#/$defs/reportUnusedImport"
          },
          "reportUnusedClass": {
            "$ref": "#/$defs/reportUnusedClass"
          },
          "reportUnusedFunction": {
            "$ref": "#/$defs/reportUnusedFunction"
          },
          "reportUnusedVariable": {
            "$ref": "#/$defs/reportUnusedVariable"
          },
          "reportDuplicateImport": {
            "$ref": "#/$defs/reportDuplicateImport"
          },
          "reportWildcardImportFromLibrary": {
            "$ref": "#/$defs/reportWildcardImportFromLibrary"
          },
          "reportAbstractUsage": {
            "$ref": "#/$defs/reportAbstractUsage"
          },
          "reportArgumentType": {
            "$ref": "#/$defs/reportArgumentType"
          },
          "reportAssertTypeFailure": {
            "$ref": "#/$defs/reportAssertTypeFailure"
          },
          "reportAssignmentType": {
            "$ref": "#/$defs/reportAssignmentType"
          },
          "reportAttributeAccessIssue": {
            "$ref": "#/$defs/reportAttributeAccessIssue"
          },
          "reportCallIssue": {
            "$ref": "#/$defs/reportCallIssue"
          },
          "reportInconsistentOverload": {
            "$ref": "#/$defs/reportInconsistentOverload"
          },
          "reportIndexIssue": {
            "$ref": "#/$defs/reportIndexIssue"
          },
          "reportInvalidTypeArguments": {
            "$ref": "#/$defs/reportInvalidTypeArguments"
          },
          "reportNoOverloadImplementation": {
            "$ref": "#/$defs/reportNoOverloadImplementation"
          },
          "reportOperatorIssue": {
            "$ref": "#/$defs/reportOperatorIssue"
          },
          "reportOptionalSubscript": {
            "$ref": "#/$defs/reportOptionalSubscript"
          },
          "reportOptionalMemberAccess": {
            "$ref": "#/$defs/reportOptionalMemberAccess"
          },
          "reportOptionalCall": {
            "$ref": "#/$defs/reportOptionalCall"
          },
          "reportOptionalIterable": {
            "$ref": "#/$defs/reportOptionalIterable"
          },
          "reportOptionalContextManager": {
            "$ref": "#/$defs/reportOptionalContextManager"
          },
          "reportOptionalOperand": {
            "$ref": "#/$defs/reportOptionalOperand"
          },
          "reportRedeclaration": {
            "$ref": "#/$defs/reportRedeclaration"
          },
          "reportReturnType": {
            "$ref": "#/$defs/reportReturnType"
          },
          "reportTypedDictNotRequiredAccess": {
            "$ref": "#/$defs/reportTypedDictNotRequiredAccess"
          },
          "reportUntypedFunctionDecorator": {
            "$ref": "#/$defs/reportUntypedFunctionDecorator"
          },
          "reportUntypedClassDecorator": {
            "$ref": "#/$defs/reportUntypedClassDecorator"
          },
          "reportUntypedBaseClass": {
            "$ref": "#/$defs/reportUntypedBaseClass"
          },
          "reportUntypedNamedTuple": {
            "$ref": "#/$defs/reportUntypedNamedTuple"
          },
          "reportPrivateUsage": {
            "$ref": "#/$defs/reportPrivateUsage"
          },
          "reportTypeCommentUsage": {
            "$ref": "#/$defs/reportTypeCommentUsage"
          },
          "reportPrivateImportUsage": {
            "$ref": "#/$defs/reportPrivateImportUsage"
          },
          "reportConstantRedefinition": {
            "$ref": "#/$defs/reportConstantRedefinition"
          },
          "reportDeprecated": {
            "$ref": "#/$defs/reportDeprecated"
          },
          "reportIncompatibleMethodOverride": {
            "$ref": "#/$defs/reportIncompatibleMethodOverride"
          },
          "reportIncompatibleVariableOverride": {
            "$ref": "#/$defs/reportIncompatibleVariableOverride"
          },
          "reportInconsistentConstructor": {
            "$ref": "#/$defs/reportInconsistentConstructor"
          },
          "reportOverlappingOverload": {
            "$ref": "#/$defs/reportOverlappingOverload"
          },
          "reportPossiblyUnboundVariable": {
            "$ref": "#/$defs/reportPossiblyUnboundVariable"
          },
          "reportMissingSuperCall": {
            "$ref": "#/$defs/reportMissingSuperCall"
          },
          "reportUninitializedInstanceVariable": {
            "$ref": "#/$defs/reportUninitializedInstanceVariable"
          },
          "reportInvalidStringEscapeSequence": {
            "$ref": "#/$defs/reportInvalidStringEscapeSequence"
          },
          "reportUnknownParameterType": {
            "$ref": "#/$defs/reportUnknownParameterType"
          },
          "reportUnknownArgumentType": {
            "$ref": "#/$defs/reportUnknownArgumentType"
          },
          "reportUnknownLambdaType": {
            "$ref": "#/$defs/reportUnknownLambdaType"
          },
          "reportUnknownVariableType": {
            "$ref": "#/$defs/reportUnknownVariableType"
          },
          "reportUnknownMemberType": {
            "$ref": "#/$defs/reportUnknownMemberType"
          },
          "reportMissingParameterType": {
            "$ref": "#/$defs/reportMissingParameterType"
          },
          "reportMissingTypeArgument": {
            "$ref": "#/$defs/reportMissingTypeArgument"
          },
          "reportInvalidTypeVarUse": {
            "$ref": "#/$defs/reportInvalidTypeVarUse"
          },
          "reportCallInDefaultInitializer": {
            "$ref": "#/$defs/reportCallInDefaultInitializer"
          },
          "reportUnnecessaryIsInstance": {
            "$ref": "#/$defs/reportUnnecessaryIsInstance"
          },
          "reportUnnecessaryCast": {
            "$ref": "#/$defs/reportUnnecessaryCast"
          },
          "reportUnnecessaryComparison": {
            "$ref": "#/$defs/reportUnnecessaryComparison"
          },
          "reportUnnecessaryContains": {
            "$ref": "#/$defs/reportUnnecessaryContains"
          },
          "reportAssertAlwaysTrue": {
            "$ref": "#/$defs/reportAssertAlwaysTrue"
          },
          "reportSelfClsParameterName": {
            "$ref": "#/$defs/reportSelfClsParameterName"
          },
          "reportImplicitStringConcatenation": {
            "$ref": "#/$defs/reportImplicitStringConcatenation"
          },
          "reportUnboundVariable": {
            "$ref": "#/$defs/reportUnboundVariable"
          },
          "reportUnhashable": {
            "$ref": "#/$defs/reportUnhashable"
          },
          "reportUndefinedVariable": {
            "$ref": "#/$defs/reportUndefinedVariable"
          },
          "reportInvalidStubStatement": {
            "$ref": "#/$defs/reportInvalidStubStatement"
          },
          "reportIncompleteStub": {
            "$ref": "#/$defs/reportIncompleteStub"
          },
          "reportUnsupportedDunderAll": {
            "$ref": "#/$defs/reportUnsupportedDunderAll"
          },
          "reportUnusedCallResult": {
            "$ref": "#/$defs/reportUnusedCallResult"
          },
          "reportUnusedCoroutine": {
            "$ref": "#/$defs/reportUnusedCoroutine"
          },
          "reportUnusedExcept": {
            "$ref": "#/$defs/reportUnusedExcept"
          },
          "reportUnusedExpression": {
            "$ref": "#/$defs/reportUnusedExpression"
          },
          "reportUnnecessaryTypeIgnoreComment": {
            "$ref": "#/$defs/reportUnnecessaryTypeIgnoreComment"
          },
          "reportMatchNotExhaustive": {
            "$ref": "#/$defs/reportMatchNotExhaustive"
          },
          "reportUnreachable": {
            "$ref": "#/$defs/reportUnreachable"
          },
          "reportImplicitOverride": {
            "$ref": "#/$defs/reportImplicitOverride"
          },
          "extraPaths": {
            "$ref": "#/$defs/extraPaths"
          },
          "pythonVersion": {
            "$ref": "#/$defs/pythonVersion"
          },
          "pythonPlatform": {
            "$ref": "#/$defs/pythonPlatform"
          }
        }
      }
    }
  },
  "$defs": {
    "diagnostic": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "enum": [
            "none",
            "information",
            "warning",
            "error"
          ]
        }
      ]
    },
    "extraPaths": {
      "type": "array",
      "title": "Additional import search resolution paths",
      "items": {
        "type": "string",
        "title": "Additional import search resolution path",
        "default": "",
        "pattern": "^(.*)$"
      }
    },
    "pythonVersion": {
      "type": "string",
      "title": "Python version to assume during type analysis",
      "default": "",
      "examples": [
        "3.7"
      ],
      "pattern": "^3\\.[0-9]+$"
    },
    "pythonPlatform": {
      "type": "string",
      "title": "Python platform to assume during type analysis",
      "default": "",
      "examples": [
        "Linux"
      ],
      "pattern": "^(Linux|Windows|Darwin|iOS|Android|All)$"
    },
    "disableBytesTypePromotions": {
      "type": "boolean",
      "title": "Do not treat `bytearray` and `memoryview` as implicit subtypes of `bytes`",
      "default": true
    },
    "strictListInference": {
      "type": "boolean",
      "title": "Infer strict types for list expressions",
      "default": false
    },
    "strictSetInference": {
      "type": "boolean",
      "title": "Infer strict types for set expressions",
      "default": false
    },
    "strictDictionaryInference": {
      "type": "boolean",
      "title": "Infer strict types for dictionary expressions",
      "default": false
    },
    "analyzeUnannotatedFunctions": {
      "type": "boolean",
      "title": "Analyze and report diagnostics for functions that have no annotations",
      "default": true
    },
    "strictParameterNoneValue": {
      "type": "boolean",
      "title": "Allow implicit Optional when default parameter value is None",
      "default": true
    },
    "enableExperimentalFeatures": {
      "type": "boolean",
      "title": "Enable the use of experimental features that are not part of the Python typing spec",
      "default": false
    },
    "enableTypeIgnoreComments": {
      "type": "boolean",
      "title": "Allow \"# type: ignore\" comments",
      "default": true
    },
    "enableReachabilityAnalysis": {
      "type": "boolean",
      "title": "Identify code determined to be unreachable through type analysis",
      "default": true
    },
    "deprecateTypingAliases": {
      "type": "boolean",
      "title": "Treat typing-specific aliases to standard types as deprecated",
      "default": false
    },
    "reportGeneralTypeIssues": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of general type issues",
      "default": "error"
    },
    "reportPropertyTypeMismatch": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of property getter/setter type mismatches",
      "default": "none"
    },
    "reportFunctionMemberAccess": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of member accesses on function objects",
      "default": "error"
    },
    "reportMissingImports": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of imports that cannot be resolved",
      "default": "error"
    },
    "reportMissingModuleSource": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of imports that cannot be resolved to source files",
      "default": "warning"
    },
    "reportInvalidTypeForm": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of type expressions that use an invalid form",
      "default": "error"
    },
    "reportMissingTypeStubs": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of imports that cannot be resolved to type stub files",
      "default": "none"
    },
    "reportImportCycles": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of module imports that create cycles in import graph",
      "default": "none"
    },
    "reportUnusedImport": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of imported symbols that are not referenced within the source file",
      "default": "none"
    },
    "reportUnusedClass": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of private classes that are not accessed",
      "default": "none"
    },
    "reportUnusedFunction": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of private functions or methods that are not accessed",
      "default": "none"
    },
    "reportUnusedVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of local variables that are not accessed",
      "default": "none"
    },
    "reportDuplicateImport": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of symbols or modules that are imported more than once",
      "default": "none"
    },
    "reportWildcardImportFromLibrary": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of wildcard import from external library",
      "default": "warning"
    },
    "reportAbstractUsage": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempted instantiation of abstract class",
      "default": "error"
    },
    "reportArgumentType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of incompatible argument type",
      "default": "error"
    },
    "reportAssertTypeFailure": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of type mismatch detected by typing.assert_type call",
      "default": "error"
    },
    "reportAssignmentType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of type incompatibilities for assignments",
      "default": "error"
    },
    "reportAttributeAccessIssue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of issues related to attribute accesses",
      "default": "error"
    },
    "reportCallIssue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of issues related to call expressions and arguments",
      "default": "error"
    },
    "reportInconsistentOverload": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of inconsistencies between function overload signatures",
      "default": "error"
    },
    "reportIndexIssue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of issues related to index operations and expressions",
      "default": "error"
    },
    "reportInvalidTypeArguments": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of invalid type argument usage",
      "default": "error"
    },
    "reportNoOverloadImplementation": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of an overloaded function or method with a missing implementation",
      "default": "error"
    },
    "reportOperatorIssue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of diagnostics related to unary and binary operators",
      "default": "error"
    },
    "reportOptionalSubscript": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to subscript (index) a variable with Optional type",
      "default": "error"
    },
    "reportOptionalMemberAccess": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to access a member of a variable with Optional type",
      "default": "error"
    },
    "reportOptionalCall": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to call a variable with Optional type",
      "default": "error"
    },
    "reportOptionalIterable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an Optional type as an iterable value",
      "default": "error"
    },
    "reportOptionalContextManager": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an Optional type as a parameter to a with statement",
      "default": "error"
    },
    "reportOptionalOperand": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an Optional type as an operand for a binary or unary operator",
      "default": "error"
    },
    "reportRedeclaration": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to declare the type of a symbol multiple times",
      "default": "error"
    },
    "reportReturnType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of function return type incompatibility",
      "default": "error"
    },
    "reportTypedDictNotRequiredAccess": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to access a non-required key in a TypedDict without a check for its presence",
      "default": "error"
    },
    "reportUntypedFunctionDecorator": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of function decorators without type annotations, which obscure function types",
      "default": "none"
    },
    "reportUntypedClassDecorator": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of class decorators without type annotations, which obscure class types",
      "default": "none"
    },
    "reportUntypedBaseClass": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of a base class of an unknown type, which obscures most type checking for the class",
      "default": "none"
    },
    "reportUntypedNamedTuple": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of a named tuple definition that does not contain type information",
      "default": "none"
    },
    "reportPrivateUsage": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of private variables and functions used outside of the owning class or module and usage of protected members outside of subclasses",
      "default": "none"
    },
    "reportTypeCommentUsage": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of deprecated type comment usage",
      "default": "none"
    },
    "reportPrivateImportUsage": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of improper usage of symbol imported from a \"py.typed\" module that is not re-exported from that module",
      "default": "error"
    },
    "reportConstantRedefinition": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to redefine variables that are in all-caps",
      "default": "none"
    },
    "reportDeprecated": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of use of deprecated class or function",
      "default": "none"
    },
    "reportIncompatibleMethodOverride": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of method overrides in subclasses that redefine the method in an incompatible way",
      "default": "error"
    },
    "reportIncompatibleVariableOverride": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of overrides in subclasses that redefine a variable in an incompatible way",
      "default": "error"
    },
    "reportInconsistentConstructor": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of __init__ and __new__ methods whose signatures are inconsistent",
      "default": "none"
    },
    "reportOverlappingOverload": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of function overloads that overlap in signature and obscure each other or do not agree on return type",
      "default": "error"
    },
    "reportPossiblyUnboundVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use variable that is possibly unbound on some code paths",
      "default": "error"
    },
    "reportMissingSuperCall": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of missing call to parent class for inherited `__init__` methods",
      "default": "none"
    },
    "reportUninitializedInstanceVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of instance variables that are not initialized in the constructor",
      "default": "none"
    },
    "reportInvalidStringEscapeSequence": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of invalid escape sequences used within string literals",
      "default": "warning"
    },
    "reportUnknownParameterType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting input and return parameters whose types are unknown",
      "default": "none"
    },
    "reportUnknownArgumentType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting argument expressions whose types are unknown",
      "default": "none"
    },
    "reportUnknownLambdaType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting input and return parameters for lambdas whose types are unknown",
      "default": "none"
    },
    "reportUnknownVariableType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting local variables whose types are unknown",
      "default": "none"
    },
    "reportUnknownMemberType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting class and instance variables whose types are unknown",
      "default": "none"
    },
    "reportMissingParameterType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting input parameters that are missing a type annotation",
      "default": "none"
    },
    "reportMissingTypeArgument": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting generic class reference with missing type arguments",
      "default": "none"
    },
    "reportInvalidTypeVarUse": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting improper use of type variables within function signatures",
      "default": "warning"
    },
    "reportCallInDefaultInitializer": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting usage of function calls within a default value initializer expression",
      "default": "none"
    },
    "reportUnnecessaryIsInstance": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting calls to 'isinstance' or 'issubclass' where the result is statically determined to be always (or never) true",
      "default": "none"
    },
    "reportUnnecessaryCast": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting calls to 'cast' that are unnecessary",
      "default": "none"
    },
    "reportUnnecessaryComparison": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting the use of '==' or '!=' comparisons that are unnecessary",
      "default": "none"
    },
    "reportUnnecessaryContains": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting the use of 'in' operations that are unnecessary",
      "default": "none"
    },
    "reportAssertAlwaysTrue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting assert expressions that will always evaluate to true",
      "default": "warning"
    },
    "reportSelfClsParameterName": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting missing or misnamed self parameters",
      "default": "warning"
    },
    "reportImplicitStringConcatenation": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting usage of implicit concatenation of string literals",
      "default": "none"
    },
    "reportUnboundVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an unbound variable",
      "default": "error"
    },
    "reportUnhashable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of unhashable object in container that requires hashability",
      "default": "error"
    },
    "reportUndefinedVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an undefined variable",
      "default": "error"
    },
    "reportInvalidStubStatement": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of type stub statements that do not conform to PEP 484",
      "default": "none"
    },
    "reportIncompleteStub": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of incomplete type stubs that declare a module-level __getattr__ function",
      "default": "none"
    },
    "reportUnsupportedDunderAll": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of unsupported operations performed on __all__",
      "default": "warning"
    },
    "reportUnusedCallResult": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of call expressions whose results are not consumed",
      "default": "none"
    },
    "reportUnusedCoroutine": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of call expressions that returns Coroutine whose results are not consumed",
      "default": "error"
    },
    "reportUnusedExcept": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of unreachable except clauses",
      "default": "error"
    },
    "reportUnusedExpression": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of simple expressions whose value is not used in any way",
      "default": "warning"
    },
    "reportUnnecessaryTypeIgnoreComment": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of '# type: ignore' comments that have no effect'",
      "default": "none"
    },
    "reportMatchNotExhaustive": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of 'match' statements that do not exhaustively match all possible values",
      "default": "none"
    },
    "reportUnreachable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of code that is determined by type analysis to be unreachable",
      "default": "none"
    },
    "reportImplicitOverride": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting overridden methods that are missing an `@override` decorator",
      "default": "none"
    }
  },
  "allowTrailingCommas": true,
  "allowComments": true
}
