{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/pyproject/_shared/latest--partial-pyright.json",
  "description": "Pyright Configuration Schema",
  "x-lintel": {
    "source": "https://json.schemastore.org/partial-pyright.json",
    "sourceSha256": "b1bd26faea6e167a0abcab3ac7284d4d8fdb8e7c7b47f027db7ad0b475ff4254"
  },
  "type": "object",
  "properties": {
    "extends": {
      "type": "string",
      "title": "Path to configuration file that this configuration extends",
      "description": "Path to another `.json` or `.toml` file that is used as a \"base configuration\", allowing this configuration to inherit configuration settings. Top-level keys within this configuration overwrite top-level keys in the base configuration. Multiple levels of inheritance are supported. Relative paths specified in a configuration file are resolved relative to the location of that configuration file.",
      "markdownDescription": "Path to another `.json` or `.toml` file that is used as a \"base configuration\", allowing this configuration to inherit configuration settings. Top-level keys within this configuration overwrite top-level keys in the base configuration. Multiple levels of inheritance are supported. Relative paths specified in a configuration file are resolved relative to the location of that configuration file.",
      "x-intellij-html-description": "Path to another <code>.json</code> or <code>.toml</code> file that is used as a &quot;base configuration&quot;, allowing this configuration to inherit configuration settings. Top-level keys within this configuration overwrite top-level keys in the base configuration. Multiple levels of inheritance are supported. Relative paths specified in a configuration file are resolved relative to the location of that configuration file."
    },
    "include": {
      "type": "array",
      "title": "Files and directories included in type analysis",
      "description": "Paths of directories or files that should be considered part of the project. If no paths are specified, pyright defaults to the directory that contains the config file. Paths may contain wildcard characters: `**` (a directory or multiple levels of directories), `*` (a sequence of zero or more characters), or `?` (a single character). If no include paths are specified, the root path for the workspace is assumed.",
      "markdownDescription": "Paths of directories or files that should be considered part of the project. If no paths are specified, pyright defaults to the directory that contains the config file. Paths may contain wildcard characters: `**` (a directory or multiple levels of directories), `*` (a sequence of zero or more characters), or `?` (a single character). If no include paths are specified, the root path for the workspace is assumed.",
      "x-intellij-html-description": "Paths of directories or files that should be considered part of the project. If no paths are specified, pyright defaults to the directory that contains the config file. Paths may contain wildcard characters: <code>**</code> (a directory or multiple levels of directories), <code>*</code> (a sequence of zero or more characters), or <code>?</code> (a single character). If no include paths are specified, the root path for the workspace is assumed.",
      "items": {
        "type": "string",
        "description": "File or directory to include in type analysis"
      }
    },
    "exclude": {
      "type": "array",
      "title": "Files and directories excluded from type analysis",
      "description": "Paths of directories or files that should not be considered part of the project. These override the includes directories and files, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters: `**` (a directory or multiple levels of directories), `*` (a sequence of zero or more characters), or `?` (a single character). If no exclude paths are specified, Pyright automatically excludes the following: `**/node_modules`, `**/__pycache__`, `**/.*` and any virtual environment directories.",
      "markdownDescription": "Paths of directories or files that should not be considered part of the project. These override the includes directories and files, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters: `**` (a directory or multiple levels of directories), `*` (a sequence of zero or more characters), or `?` (a single character). If no exclude paths are specified, Pyright automatically excludes the following: `**/node_modules`, `**/__pycache__`, `**/.*` and any virtual environment directories.",
      "x-intellij-html-description": "Paths of directories or files that should not be considered part of the project. These override the includes directories and files, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters: <code>**</code> (a directory or multiple levels of directories), <code>*</code> (a sequence of zero or more characters), or <code>?</code> (a single character). If no exclude paths are specified, Pyright automatically excludes the following: <code>**/node_modules</code>, <code>**/__pycache__</code>, <code>**/.*</code> and any virtual environment directories.",
      "items": {
        "type": "string",
        "title": "File or directory to exclude from type analysis"
      }
    },
    "ignore": {
      "type": "array",
      "title": "Files and directories whose diagnostics are suppressed",
      "description": "Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed even if they are an included file or within the transitive closure of an included file. Paths may contain wildcard characters: `**` (a directory or multiple levels of directories), `*` (a sequence of zero or more characters), or `?` (a single character).",
      "markdownDescription": "Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed even if they are an included file or within the transitive closure of an included file. Paths may contain wildcard characters: `**` (a directory or multiple levels of directories), `*` (a sequence of zero or more characters), or `?` (a single character).",
      "x-intellij-html-description": "Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed even if they are an included file or within the transitive closure of an included file. Paths may contain wildcard characters: <code>**</code> (a directory or multiple levels of directories), <code>*</code> (a sequence of zero or more characters), or <code>?</code> (a single character).",
      "items": {
        "type": "string",
        "title": "File or directory where diagnostics should be suppressed"
      }
    },
    "strict": {
      "type": "array",
      "title": "Files and directories that should use \"strict\" type checking rules",
      "description": "Paths of directories or files that should use \"strict\" analysis if they are included. This is the same as manually adding a `# pyright: strict` comment. In strict mode, most type-checking rules are enabled. Paths may contain wildcard characters: `**` (a directory or multiple levels of directories), `*` (a sequence of zero or more characters), or `?` (a single character).",
      "markdownDescription": "Paths of directories or files that should use \"strict\" analysis if they are included. This is the same as manually adding a `# pyright: strict` comment. In strict mode, most type-checking rules are enabled. Paths may contain wildcard characters: `**` (a directory or multiple levels of directories), `*` (a sequence of zero or more characters), or `?` (a single character).",
      "x-intellij-html-description": "Paths of directories or files that should use &quot;strict&quot; analysis if they are included. This is the same as manually adding a <code># pyright: strict</code> comment. In strict mode, most type-checking rules are enabled. Paths may contain wildcard characters: <code>**</code> (a directory or multiple levels of directories), <code>*</code> (a sequence of zero or more characters), or <code>?</code> (a single character).",
      "items": {
        "type": "string",
        "title": "File or directory that should use \"strict\" type checking rules"
      }
    },
    "defineConstant": {
      "type": "object",
      "title": "Identifiers that should be treated as constants",
      "description": "Set of identifiers that should be assumed to contain a constant value wherever used within this program. For example, `{ \"DEBUG\": true }` indicates that pyright should assume that the identifier `DEBUG` will always be equal to `True`. If this identifier is used within a conditional expression (such as `if not DEBUG:`) pyright will use the indicated value to determine whether the guarded block is reachable or not. Member expressions that reference one of these constants (e.g. `my_module.DEBUG`) are also supported.",
      "markdownDescription": "Set of identifiers that should be assumed to contain a constant value wherever used within this program. For example, `{ \"DEBUG\": true }` indicates that pyright should assume that the identifier `DEBUG` will always be equal to `True`. If this identifier is used within a conditional expression (such as `if not DEBUG:`) pyright will use the indicated value to determine whether the guarded block is reachable or not. Member expressions that reference one of these constants (e.g. `my_module.DEBUG`) are also supported.",
      "x-intellij-html-description": "Set of identifiers that should be assumed to contain a constant value wherever used within this program. For example, <code>{ &quot;DEBUG&quot;: true }</code> indicates that pyright should assume that the identifier <code>DEBUG</code> will always be equal to <code>True</code>. If this identifier is used within a conditional expression (such as <code>if not DEBUG:</code>) pyright will use the indicated value to determine whether the guarded block is reachable or not. Member expressions that reference one of these constants (e.g. <code>my_module.DEBUG</code>) are also supported.",
      "properties": {},
      "additionalProperties": {
        "type": [
          "string",
          "boolean"
        ],
        "title": "Value of constant (boolean or string)"
      }
    },
    "typeCheckingMode": {
      "enum": [
        "off",
        "basic",
        "standard",
        "strict"
      ],
      "title": "Specifies the default rule set to use for type checking",
      "description": "Specifies the default rule set to use. Some rules can be overridden using additional configuration flags documented below. If set to `off`, all type-checking rules are disabled, but Python syntax and semantic errors are still reported.",
      "markdownDescription": "Specifies the default rule set to use. Some rules can be overridden using additional configuration flags documented below. If set to `off`, all type-checking rules are disabled, but Python syntax and semantic errors are still reported.",
      "x-intellij-html-description": "Specifies the default rule set to use. Some rules can be overridden using additional configuration flags documented below. If set to <code>off</code>, all type-checking rules are disabled, but Python syntax and semantic errors are still reported.",
      "default": "standard"
    },
    "useLibraryCodeForTypes": {
      "type": "boolean",
      "title": "Use library implementations to extract type information when type stub is not present",
      "description": "Determines whether pyright reads, parses and analyzes library code to extract type information in the absence of type stub files. Type information will typically be incomplete. We recommend using type stubs where possible.",
      "default": true
    },
    "typeshedPath": {
      "type": "string",
      "title": "Path to directory containing `typeshed` type stub files",
      "description": "Path to a directory that contains `typeshed` type stub files. Pyright ships with a bundled copy of `typeshed` type stubs. If you want to use a different version of `typeshed` stubs, you can clone the `typeshed` GitHub repo (https://github.com/python/typeshed) to a local directory and reference the location with this path. This option is useful if you're actively contributing updates to `typeshed`.",
      "markdownDescription": "Path to a directory that contains `typeshed` type stub files. Pyright ships with a bundled copy of `typeshed` type stubs. If you want to use a different version of `typeshed` stubs, you can clone [the `typeshed` GitHub repo](https://github.com/python/typeshed) to a local directory and reference the location with this path. This option is useful if you're actively contributing updates to `typeshed`.",
      "x-intellij-html-description": "Path to a directory that contains <code>typeshed</code> type stub files. Pyright ships with a bundled copy of <code>typeshed</code> type stubs. If you want to use a different version of <code>typeshed</code> stubs, you can clone <a href=\"https://github.com/python/typeshed\">the <code>typeshed</code> GitHub repo</a> to a local directory and reference the location with this path. This option is useful if you&#39;re actively contributing updates to <code>typeshed</code>.",
      "default": ""
    },
    "stubPath": {
      "type": "string",
      "title": "Path to directory containing custom type stub files",
      "description": "Path to a directory that contains custom type stubs. Each package's type stub file(s) are expected to be in its own subdirectory.",
      "x-intellij-html-description": "Path to a directory that contains custom type stubs. Each package&#39;s type stub file(s) are expected to be in its own subdirectory.",
      "default": "./typings",
      "examples": [
        "src/typestubs"
      ]
    },
    "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",
      "description": "Path to a directory containing one or more subdirectories, each of which contains a virtual environment. When used in conjunction with a `venv` setting, pyright will search for imports in the virtual environment's site-packages directory rather than the paths specified by the default Python interpreter. If you are working on a project with other developers, it is best not to specify this setting in the config file, since this path will typically differ for each developer. Instead, it can be specified on the command line or in a per-user setting.",
      "markdownDescription": "Path to a directory containing one or more subdirectories, each of which contains a virtual environment. When used in conjunction with a `venv` setting, pyright will search for imports in the virtual environment's site-packages directory rather than the paths specified by the default Python interpreter. If you are working on a project with other developers, it is best not to specify this setting in the config file, since this path will typically differ for each developer. Instead, it can be specified on the command line or in a per-user setting.",
      "x-intellij-html-description": "Path to a directory containing one or more subdirectories, each of which contains a virtual environment. When used in conjunction with a <code>venv</code> setting, pyright will search for imports in the virtual environment&#39;s site-packages directory rather than the paths specified by the default Python interpreter. If you are working on a project with other developers, it is best not to specify this setting in the config file, since this path will typically differ for each developer. Instead, it can be specified on the command line or in a per-user setting.",
      "default": ""
    },
    "venv": {
      "type": "string",
      "title": "Name of virtual environment subdirectory within `venvPath`",
      "description": "Used in conjunction with the `venvPath`, specifies the virtual environment to use.",
      "markdownDescription": "Used in conjunction with the `venvPath`, specifies the virtual environment to use.",
      "x-intellij-html-description": "Used in conjunction with the <code>venvPath</code>, specifies the virtual environment to use.",
      "default": "",
      "examples": [
        "python37"
      ]
    },
    "verboseOutput": {
      "type": "boolean",
      "title": "Output verbose logging",
      "description": "Specifies whether output logs should be verbose. This is useful when diagnosing certain problems like import resolution issues.",
      "default": false
    },
    "executionEnvironments": {
      "type": "array",
      "title": "Analysis settings to use for specified subdirectories of code",
      "description": "Specifies a list of execution environments. Execution environments are searched from start to finish by comparing the path of a source file with the root path specified in the execution environment.",
      "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",
            "description": "Root path for the code that will execute within this execution environment.",
            "default": ""
          },
          "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"
          }
        }
      }
    }
  },
  "$comment": "This file was originally copied from Pyright's repository, which is licensed under MIT, on 2024-01-17. The markdownDescription fields are for VSCode and x-intellij-html-description ones are for PyCharm.",
  "$defs": {
    "diagnostic": {
      "enum": [
        "none",
        "information",
        "warning",
        "error",
        true,
        false
      ]
    },
    "extraPaths": {
      "type": "array",
      "title": "Additional import search resolution paths",
      "description": "Additional search paths that will be used when searching for modules imported by files.",
      "items": {
        "type": "string",
        "title": "Additional import search resolution path",
        "default": ""
      }
    },
    "pythonVersion": {
      "type": "string",
      "title": "Python version to assume during type analysis",
      "description": "Specifies the version of Python that will be used to execute the source code. The version should be specified as a string in the format `M.m` where `M` is the major version and `m` is the minor (e.g. `3.0` or `3.6`). If a version is provided, pyright will generate errors if the source code makes use of language features that are not supported in that version. It will also tailor its use of type stub files, which conditionalizes type definitions based on the version. If no version is specified, pyright will use the version of the current python interpreter, if one is present.",
      "markdownDescription": "Specifies the version of Python that will be used to execute the source code. The version should be specified as a string in the format `M.m` where `M` is the major version and `m` is the minor (e.g. `3.0` or `3.6`). If a version is provided, pyright will generate errors if the source code makes use of language features that are not supported in that version. It will also tailor its use of type stub files, which conditionalizes type definitions based on the version. If no version is specified, pyright will use the version of the current python interpreter, if one is present.",
      "x-intellij-html-description": "Specifies the version of Python that will be used to execute the source code. The version should be specified as a string in the format <code>M.m</code> where <code>M</code> is the major version and <code>m</code> is the minor (e.g. <code>3.0</code> or <code>3.6</code>). If a version is provided, pyright will generate errors if the source code makes use of language features that are not supported in that version. It will also tailor its use of type stub files, which conditionalizes type definitions based on the version. If no version is specified, pyright will use the version of the current python interpreter, if one is present.",
      "default": "",
      "examples": [
        "3.7"
      ],
      "pattern": "^3\\.[0-9]+$"
    },
    "pythonPlatform": {
      "enum": [
        "Windows",
        "Darwin",
        "Linux",
        "All"
      ],
      "title": "Python platform to assume during type analysis",
      "description": "Specifies the target platform that will be used to execute the source code. Should be one of `Windows`, `Darwin`, `Linux`, or `All`. If specified, pyright will tailor its use of type stub files, which conditionalize type definitions based on the platform. If no platform is specified, pyright will use the current platform.",
      "markdownDescription": "Specifies the target platform that will be used to execute the source code. Should be one of `Windows`, `Darwin`, `Linux`, or `All`. If specified, pyright will tailor its use of type stub files, which conditionalize type definitions based on the platform. If no platform is specified, pyright will use the current platform.",
      "x-intellij-html-description": "Specifies the target platform that will be used to execute the source code. Should be one of <code>Windows</code>, <code>Darwin</code>, <code>Linux</code>, or <code>All</code>. If specified, pyright will tailor its use of type stub files, which conditionalize type definitions based on the platform. If no platform is specified, pyright will use the current platform.",
      "default": "",
      "examples": [
        "Linux"
      ]
    },
    "disableBytesTypePromotions": {
      "type": "boolean",
      "title": "Do not treat `bytearray` and `memoryview` as implicit subtypes of `bytes`",
      "description": "Disables legacy behavior where `bytearray` and `memoryview` are considered subtypes of bytes. PEP 688 deprecates this behavior, but this switch is provided to restore the older behavior.",
      "markdownDescription": "Disables legacy behavior where `bytearray` and `memoryview` are considered subtypes of bytes. [PEP 688](https://peps.python.org/pep-0688/) deprecates this behavior, but this switch is provided to restore the older behavior.",
      "x-intellij-html-description": "Disables legacy behavior where <code>bytearray</code> and <code>memoryview</code> are considered subtypes of bytes. <a href=\"https://peps.python.org/pep-0688/\">PEP 688</a> deprecates this behavior, but this switch is provided to restore the older behavior.",
      "default": true
    },
    "strictListInference": {
      "type": "boolean",
      "title": "Infer strict types for list expressions",
      "description": "When inferring the type of a list, use strict type assumptions. For example, the expression `[1, 'a', 3.4]` could be inferred to be of type `list[Any]` or `list[int | str | float]`. If this setting is `true`, it will use the latter (stricter) type.",
      "markdownDescription": "When inferring the type of a list, use strict type assumptions. For example, the expression `[1, 'a', 3.4]` could be inferred to be of type `list[Any]` or `list[int | str | float]`. If this setting is `true`, it will use the latter (stricter) type.",
      "x-intellij-html-description": "When inferring the type of a list, use strict type assumptions. For example, the expression <code>[1, &#39;a&#39;, 3.4]</code> could be inferred to be of type <code>list[Any]</code> or <code>list[int | str | float]</code>. If this setting is <code>true</code>, it will use the latter (stricter) type.",
      "default": false
    },
    "strictSetInference": {
      "type": "boolean",
      "title": "Infer strict types for set expressions",
      "description": "When inferring the type of a set, use strict type assumptions. For example, the expression `{1, 'a', 3.4}` could be inferred to be of type `set[Any]` or `set[int | str | float]`. If this setting is `true`, it will use the latter (stricter) type.",
      "markdownDescription": "When inferring the type of a set, use strict type assumptions. For example, the expression `{1, 'a', 3.4}` could be inferred to be of type `set[Any]` or `set[int | str | float]`. If this setting is `true`, it will use the latter (stricter) type.",
      "x-intellij-html-description": "When inferring the type of a set, use strict type assumptions. For example, the expression <code>{1, &#39;a&#39;, 3.4}</code> could be inferred to be of type <code>set[Any]</code> or <code>set[int | str | float]</code>. If this setting is <code>true</code>, it will use the latter (stricter) type.",
      "default": false
    },
    "strictDictionaryInference": {
      "type": "boolean",
      "title": "Infer strict types for dictionary expressions",
      "description": "When inferring the type of a dictionary's keys and values, use strict type assumptions. For example, the expression `{'a': 1, 'b': 'a'}` could be inferred to be of type `dict[str, Any]` or `dict[str, int | str]`. If this setting is `true`, it will use the latter (stricter) type.",
      "markdownDescription": "When inferring the type of a dictionary's keys and values, use strict type assumptions. For example, the expression `{'a': 1, 'b': 'a'}` could be inferred to be of type `dict[str, Any]` or `dict[str, int | str]`. If this setting is `true`, it will use the latter (stricter) type.",
      "x-intellij-html-description": "When inferring the type of a dictionary&#39;s keys and values, use strict type assumptions. For example, the expression <code>{&#39;a&#39;: 1, &#39;b&#39;: &#39;a&#39;}</code> could be inferred to be of type <code>dict[str, Any]</code> or <code>dict[str, int | str]</code>. If this setting is <code>true</code>, it will use the latter (stricter) type.",
      "default": false
    },
    "analyzeUnannotatedFunctions": {
      "type": "boolean",
      "title": "Analyze and report diagnostics for functions that have no annotations",
      "description": "Analyze and report errors for functions and methods that have no type annotations for input parameters or return types.",
      "default": true
    },
    "strictParameterNoneValue": {
      "type": "boolean",
      "title": "Allow implicit Optional when default parameter value is None",
      "description": "PEP 484 indicates that when a function parameter is assigned a default value of `None`, its type should implicitly be `Optional` even if the explicit type is not. When enabled, this rule requires that parameter type annotations use `Optional` explicitly in this case.",
      "markdownDescription": "[PEP 484](https://peps.python.org/pep-0484/) indicates that when a function parameter is assigned a default value of `None`, its type should implicitly be `Optional` even if the explicit type is not. When enabled, this rule requires that parameter type annotations use `Optional` explicitly in this case.",
      "x-intellij-html-description": "<a href=\"https://peps.python.org/pep-0484/\">PEP 484</a> indicates that when a function parameter is assigned a default value of <code>None</code>, its type should implicitly be <code>Optional</code> even if the explicit type is not. When enabled, this rule requires that parameter type annotations use <code>Optional</code> explicitly in this case.",
      "default": true
    },
    "enableExperimentalFeatures": {
      "type": "boolean",
      "title": "Enable the use of experimental features that are not part of the Python typing spec",
      "description": "Enables a set of experimental (mostly undocumented) features that correspond to proposed or exploratory changes to the Python typing standard. These features will likely change or be removed, so they should not be used except for experimentation purposes.",
      "default": false
    },
    "enableTypeIgnoreComments": {
      "type": "boolean",
      "title": "Allow `# type: ignore` comments",
      "description": "PEP 484 defines support for `# type: ignore` comments. This switch enables or disables support for these comments. This does not affect `# pyright: ignore` comments.",
      "markdownDescription": "[PEP 484](https://peps.python.org/pep-0484/) defines support for `# type: ignore` comments. This switch enables or disables support for these comments. This does not affect `# pyright: ignore` comments.",
      "x-intellij-html-description": "<a href=\"https://peps.python.org/pep-0484/\">PEP 484</a> defines support for <code># type: ignore</code> comments. This switch enables or disables support for these comments. This does not affect <code># pyright: ignore</code> comments.",
      "default": true
    },
    "enableReachabilityAnalysis": {
      "type": "boolean",
      "title": "Identify code determined to be unreachable through type analysis",
      "description": "If enabled, code that is determined to be unreachable by type analysis is reported using a tagged hint. This setting does not affect code that is determined to be unreachable independent of type analysis; such code is always reported as unreachable using a tagged hint. This setting also has no effect when using the command-line version of pyright because it never emits tagged hints for unreachable code.",
      "default": true
    },
    "deprecateTypingAliases": {
      "type": "boolean",
      "title": "Treat typing-specific aliases to standard types as deprecated",
      "description": "PEP 585 indicates that aliases to types in standard collections that were introduced solely to support generics are deprecated as of Python 3.9. This switch controls whether these are treated as deprecated. This applies only when `pythonVersion` is 3.9 or newer. The default value for this setting is `false` but may be switched to `true` in the future.",
      "markdownDescription": "[PEP 585](https://peps.python.org/pep-0585/) indicates that aliases to types in standard collections that were introduced solely to support generics are deprecated as of Python 3.9. This switch controls whether these are treated as deprecated. This applies only when `pythonVersion` is 3.9 or newer. The default value for this setting is `false` but may be switched to `true` in the future.",
      "x-intellij-html-description": "<a href=\"https://peps.python.org/pep-0585/\">PEP 585</a> indicates that aliases to types in standard collections that were introduced solely to support generics are deprecated as of Python 3.9. This switch controls whether these are treated as deprecated. This applies only when <code>pythonVersion</code> is 3.9 or newer. The default value for this setting is <code>false</code> but may be switched to <code>true</code> in the future.",
      "default": false
    },
    "reportGeneralTypeIssues": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of general type issues",
      "description": "Generate or suppress diagnostics for general type inconsistencies, unsupported operations, argument/parameter mismatches, etc. This covers all of the basic type-checking rules not covered by other rules. It does not include syntax errors.",
      "default": "error"
    },
    "reportPropertyTypeMismatch": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of property getter/setter type mismatches",
      "description": "Generate or suppress diagnostics for properties where the type of the value passed to the setter is not assignable to the value returned by the getter. Such mismatches violate the intended use of properties, which are meant to act like variables.",
      "default": "none"
    },
    "reportFunctionMemberAccess": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of member accesses on function objects",
      "description": "Generate or suppress diagnostics for non-standard member accesses for functions.",
      "default": "error"
    },
    "reportMissingImports": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of imports that cannot be resolved",
      "description": "Generate or suppress diagnostics for imports that have no corresponding imported python file or type stub file.",
      "default": "error"
    },
    "reportMissingModuleSource": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of imports that cannot be resolved to source files",
      "description": "Generate or suppress diagnostics for imports that have no corresponding source file. This happens when a type stub is found, but the module source file was not found, indicating that the code may fail at runtime when using this execution environment. Type checking will be done using the type stub.",
      "default": "warning"
    },
    "reportInvalidTypeForm": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of type expressions that use an invalid form",
      "description": "Generate or suppress diagnostics for type annotations that use invalid type expression forms or are semantically invalid.",
      "default": "error"
    },
    "reportMissingTypeStubs": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of imports that cannot be resolved to type stub files",
      "description": "Generate or suppress diagnostics for imports that have no corresponding type stub file (either a typeshed file or a custom type stub). The type checker requires type stubs to do its best job at analysis.",
      "default": "none"
    },
    "reportImportCycles": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of module imports that create cycles in import graph",
      "description": "Generate or suppress diagnostics for cyclical import chains. These are not errors in Python, but they do slow down type analysis and often hint at architectural layering issues. Generally, they should be avoided. Note that there are import cycles in the typeshed stdlib typestub files that are ignored by this setting.",
      "default": "none"
    },
    "reportUnusedImport": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of imported symbols that are not referenced within the source file",
      "description": "Generate or suppress diagnostics for an imported symbol that is not referenced within that file.",
      "default": "none"
    },
    "reportUnusedClass": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of private classes that are not accessed",
      "description": "Generate or suppress diagnostics for a class with a private name (starting with an underscore) that is not accessed.",
      "default": "none"
    },
    "reportUnusedFunction": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of private functions or methods that are not accessed",
      "description": "Generate or suppress diagnostics for a function or method with a private name (starting with an underscore) that is not accessed.",
      "default": "none"
    },
    "reportUnusedVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of local variables that are not accessed",
      "description": "Generate or suppress diagnostics for a variable that is not accessed. Variables whose names begin with an underscore are exempt from this check.",
      "default": "none"
    },
    "reportDuplicateImport": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of symbols or modules that are imported more than once",
      "description": "Generate or suppress diagnostics for an imported symbol or module that is imported more than once.",
      "default": "none"
    },
    "reportWildcardImportFromLibrary": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of wildcard import from external library",
      "description": "Generate or suppress diagnostics for a wildcard import from an external library. The use of this language feature is highly discouraged and can result in bugs when the library is updated.",
      "default": "warning"
    },
    "reportAbstractUsage": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempted instantiation of abstract class",
      "description": "Generate or suppress diagnostics for the attempted instantiate an abstract or protocol class or use of an abstract method.",
      "default": "error"
    },
    "reportArgumentType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of incompatible argument type",
      "description": "Generate or suppress diagnostics for argument type incompatibilities when evaluating a call expression.",
      "default": "error"
    },
    "reportAssertTypeFailure": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of type mismatch detected by `typing.assert_type` call",
      "description": "Generate or suppress diagnostics for a type mismatch detected by the `typing.assert_type` call.",
      "markdownDescription": "Generate or suppress diagnostics for a type mismatch detected by the `typing.assert_type` call.",
      "x-intellij-html-description": "Generate or suppress diagnostics for a type mismatch detected by the <code>typing.assert_type</code> call.",
      "default": "error"
    },
    "reportAssignmentType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of type incompatibilities for assignments",
      "description": "Generate or suppress diagnostics for assignment type incompatibility.",
      "default": "error"
    },
    "reportAttributeAccessIssue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of issues related to attribute accesses",
      "description": "Generate or suppress diagnostics related to attribute accesses.",
      "default": "error"
    },
    "reportCallIssue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of issues related to call expressions and arguments",
      "description": "Generate or suppress diagnostics related to call expressions and arguments passed to a call target.",
      "default": "error"
    },
    "reportInconsistentOverload": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of inconsistencies between function overload signatures",
      "description": "Generate or suppress diagnostics for an overloaded function that has overload signatures that are inconsistent with each other or with the implementation.",
      "default": "error"
    },
    "reportIndexIssue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of issues related to index operations and expressions",
      "description": "Generate or suppress diagnostics related to index operations and expressions.",
      "default": "error"
    },
    "reportInvalidTypeArguments": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of invalid type argument usage",
      "description": "Generate or suppress diagnostics for invalid type argument usage.",
      "default": "error"
    },
    "reportNoOverloadImplementation": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of an overloaded function or method with a missing implementation",
      "description": "Generate or suppress diagnostics for an overloaded function or method if the implementation is not provided.",
      "default": "error"
    },
    "reportOperatorIssue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of diagnostics related to unary and binary operators",
      "description": "Generate or suppress diagnostics related to the use of unary or binary operators (like `*` or `not`).",
      "markdownDescription": "Generate or suppress diagnostics related to the use of unary or binary operators (like `*` or `not`).",
      "x-intellij-html-description": "Generate or suppress diagnostics related to the use of unary or binary operators (like <code>*</code> or <code>not</code>).",
      "default": "error"
    },
    "reportOptionalSubscript": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to subscript (index) a variable with `Optional` type",
      "description": "Generate or suppress diagnostics for an attempt to subscript (index) a variable with an `Optional` type.",
      "markdownDescription": "Generate or suppress diagnostics for an attempt to subscript (index) a variable with an `Optional` type.",
      "x-intellij-html-description": "Generate or suppress diagnostics for an attempt to subscript (index) a variable with an <code>Optional</code> type.",
      "default": "error"
    },
    "reportOptionalMemberAccess": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to access a member of a variable with `Optional` type",
      "description": "Generate or suppress diagnostics for an attempt to access a member of a variable with an `Optional` type.",
      "markdownDescription": "Generate or suppress diagnostics for an attempt to access a member of a variable with an `Optional` type.",
      "x-intellij-html-description": "Generate or suppress diagnostics for an attempt to access a member of a variable with an <code>Optional</code> type.",
      "default": "error"
    },
    "reportOptionalCall": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to call a variable with `Optional` type",
      "description": "Generate or suppress diagnostics for an attempt to call a variable with an `Optional` type.",
      "markdownDescription": "Generate or suppress diagnostics for an attempt to call a variable with an `Optional` type.",
      "x-intellij-html-description": "Generate or suppress diagnostics for an attempt to call a variable with an <code>Optional</code> type.",
      "default": "error"
    },
    "reportOptionalIterable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an `Optional` type as an iterable value",
      "description": "Generate or suppress diagnostics for an attempt to use an `Optional` type as an iterable value (e.g. within a `for` statement).",
      "markdownDescription": "Generate or suppress diagnostics for an attempt to use an `Optional` type as an iterable value (e.g. within a `for` statement).",
      "x-intellij-html-description": "Generate or suppress diagnostics for an attempt to use an <code>Optional</code> type as an iterable value (e.g. within a <code>for</code> statement).",
      "default": "error"
    },
    "reportOptionalContextManager": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an `Optional` type as a parameter to a `with` statement",
      "description": "Generate or suppress diagnostics for an attempt to use an `Optional` type as a context manager (as a parameter to a `with` statement).",
      "markdownDescription": "Generate or suppress diagnostics for an attempt to use an `Optional` type as a context manager (as a parameter to a `with` statement).",
      "x-intellij-html-description": "Generate or suppress diagnostics for an attempt to use an <code>Optional</code> type as a context manager (as a parameter to a <code>with</code> 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",
      "description": "Generate or suppress diagnostics for an attempt to use an `Optional` type as an operand to a unary operator (like `~`) or the left-hand operator of a binary operator (like `*` or `<<`).",
      "markdownDescription": "Generate or suppress diagnostics for an attempt to use an `Optional` type as an operand to a unary operator (like `~`) or the left-hand operator of a binary operator (like `*` or `<<`).",
      "x-intellij-html-description": "Generate or suppress diagnostics for an attempt to use an <code>Optional</code> type as an operand to a unary operator (like <code>~</code>) or the left-hand operator of a binary operator (like <code>*</code> or <code>&lt;&lt;</code>).",
      "default": "error"
    },
    "reportRedeclaration": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to declare the type of a symbol multiple times",
      "description": "Generate or suppress diagnostics for a symbol that has more than one type declaration.",
      "default": "error"
    },
    "reportReturnType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of function return type incompatibility",
      "description": "Generate or suppress diagnostics related to function return type compatibility.",
      "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",
      "description": "Generate or suppress diagnostics for an attempt to access a non-required field within a `TypedDict` without first checking whether it is present.",
      "markdownDescription": "Generate or suppress diagnostics for an attempt to access a non-required field within a `TypedDict` without first checking whether it is present.",
      "x-intellij-html-description": "Generate or suppress diagnostics for an attempt to access a non-required field within a <code>TypedDict</code> without first checking whether it is present.",
      "default": "error"
    },
    "reportUntypedFunctionDecorator": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of function decorators without type annotations, which obscure function types",
      "description": "Generate or suppress diagnostics for function decorators that have no type annotations. These obscure the function type, defeating many type analysis features.",
      "default": "none"
    },
    "reportUntypedClassDecorator": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of class decorators without type annotations, which obscure class types",
      "description": "Generate or suppress diagnostics for class decorators that have no type annotations. These obscure the class type, defeating many type analysis features.",
      "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",
      "description": "Generate or suppress diagnostics for base classes whose type cannot be determined statically. These obscure the class type, defeating many type analysis features.",
      "default": "none"
    },
    "reportUntypedNamedTuple": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of a named tuple definition that does not contain type information",
      "description": "Generate or suppress diagnostics when `namedtuple` is used rather than `NamedTuple`. The former contains no type information, whereas the latter does.",
      "markdownDescription": "Generate or suppress diagnostics when `namedtuple` is used rather than `NamedTuple`. The former contains no type information, whereas the latter does.",
      "x-intellij-html-description": "Generate or suppress diagnostics when <code>namedtuple</code> is used rather than <code>NamedTuple</code>. The former contains no type information, whereas the latter does.",
      "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",
      "description": "Generate or suppress diagnostics for incorrect usage of private or protected variables or functions. Protected class members begin with a single underscore (`_`) and can be accessed only by subclasses. Private class members begin with a double underscore but do not end in a double underscore and can be accessed only within the declaring class. Variables and functions declared outside of a class are considered private if their names start with either a single or double underscore, and they cannot be accessed outside of the declaring module.",
      "markdownDescription": "Generate or suppress diagnostics for incorrect usage of private or protected variables or functions. Protected class members begin with a single underscore (`_`) and can be accessed only by subclasses. Private class members begin with a double underscore but do not end in a double underscore and can be accessed only within the declaring class. Variables and functions declared outside of a class are considered private if their names start with either a single or double underscore, and they cannot be accessed outside of the declaring module.",
      "x-intellij-html-description": "Generate or suppress diagnostics for incorrect usage of private or protected variables or functions. Protected class members begin with a single underscore (<code>_</code>) and can be accessed only by subclasses. Private class members begin with a double underscore but do not end in a double underscore and can be accessed only within the declaring class. Variables and functions declared outside of a class are considered private if their names start with either a single or double underscore, and they cannot be accessed outside of the declaring module.",
      "default": "none"
    },
    "reportTypeCommentUsage": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of deprecated type comment usage",
      "description": "Prior to Python 3.5, the grammar did not support type annotations, so types needed to be specified using type comments. Python 3.5 eliminated the need for function type comments, and Python 3.6 eliminated the need for variable type comments. Future versions of Python will likely deprecate all support for type comments. If enabled, this check will flag any type comment usage unless it is required for compatibility with the specified language version.",
      "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",
      "description": "Generate or suppress diagnostics for use of a symbol from a `py.typed` module that is not meant to be exported from that module.",
      "markdownDescription": "Generate or suppress diagnostics for use of a symbol from a `py.typed` module that is not meant to be exported from that module.",
      "x-intellij-html-description": "Generate or suppress diagnostics for use of a symbol from a <code>py.typed</code> module that is not meant to be exported from that module.",
      "default": "error"
    },
    "reportConstantRedefinition": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to redefine variables that are in all-caps",
      "description": "Generate or suppress diagnostics for attempts to redefine variables whose names are all-caps with underscores and numerals.",
      "default": "none"
    },
    "reportDeprecated": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of use of deprecated class or function",
      "description": "Generate or suppress diagnostics for use of a class or function that has been marked as deprecated.",
      "default": "none"
    },
    "reportIncompatibleMethodOverride": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of method overrides in subclasses that redefine the method in an incompatible way",
      "description": "Generate or suppress diagnostics for methods that override a method of the same name in a base class in an incompatible manner (wrong number of parameters, incompatible parameter types, or incompatible return type).",
      "default": "error"
    },
    "reportIncompatibleVariableOverride": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of overrides in subclasses that redefine a variable in an incompatible way",
      "description": "Generate or suppress diagnostics for class variable declarations that override a symbol of the same name in a base class with a type that is incompatible with the base class symbol type.",
      "default": "error"
    },
    "reportInconsistentConstructor": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of `__init__` and `__new__` methods whose signatures are inconsistent",
      "description": "Generate or suppress diagnostics when an `__init__` method signature is inconsistent with a `__new__` signature.",
      "markdownDescription": "Generate or suppress diagnostics when an `__init__` method signature is inconsistent with a `__new__` signature.",
      "x-intellij-html-description": "Generate or suppress diagnostics when an <code>__init__</code> method signature is inconsistent with a <code>__new__</code> signature.",
      "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",
      "description": "Generate or suppress diagnostics for function overloads that overlap in signature and obscure each other or have incompatible return types.",
      "default": "error"
    },
    "reportPossiblyUnboundVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use variable that is possibly unbound on some code paths",
      "description": "Generate or suppress diagnostics for variables that are 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",
      "description": "Generate or suppress diagnostics for `__init__`, `__init_subclass__`, `__enter__` and `__exit__` methods in a subclass that fail to call through to the same-named method on a base class.",
      "markdownDescription": "Generate or suppress diagnostics for `__init__`, `__init_subclass__`, `__enter__` and `__exit__` methods in a subclass that fail to call through to the same-named method on a base class.",
      "x-intellij-html-description": "Generate or suppress diagnostics for <code>__init__</code>, <code>__init_subclass__</code>, <code>__enter__</code> and <code>__exit__</code> methods in a subclass that fail to call through to the same-named method on a base class.",
      "default": "none"
    },
    "reportUninitializedInstanceVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of instance variables that are not initialized in the constructor",
      "description": "Generate or suppress diagnostics for instance variables within a class that are not initialized or declared within the class body or the `__init__` method.",
      "markdownDescription": "Generate or suppress diagnostics for instance variables within a class that are not initialized or declared within the class body or the `__init__` method.",
      "x-intellij-html-description": "Generate or suppress diagnostics for instance variables within a class that are not initialized or declared within the class body or the <code>__init__</code> method.",
      "default": "none"
    },
    "reportInvalidStringEscapeSequence": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of invalid escape sequences used within string literals",
      "description": "Generate or suppress diagnostics for invalid escape sequences used within string literals. The Python specification indicates that such sequences will generate a syntax error in future versions.",
      "default": "warning"
    },
    "reportUnknownParameterType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting input and return parameters whose types are unknown",
      "description": "Generate or suppress diagnostics for input or return parameters for functions or methods that have an unknown type.",
      "default": "none"
    },
    "reportUnknownArgumentType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting argument expressions whose types are unknown",
      "description": "Generate or suppress diagnostics for call arguments for functions or methods that have an unknown type.",
      "default": "none"
    },
    "reportUnknownLambdaType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting input and return parameters for lambdas whose types are unknown",
      "description": "Generate or suppress diagnostics for input or return parameters for lambdas that have an unknown type.",
      "default": "none"
    },
    "reportUnknownVariableType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting local variables whose types are unknown",
      "description": "Generate or suppress diagnostics for variables that have an unknown type.",
      "default": "none"
    },
    "reportUnknownMemberType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting class and instance variables whose types are unknown",
      "description": "Generate or suppress diagnostics for class or instance variables that have an unknown type.",
      "default": "none"
    },
    "reportMissingParameterType": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting input parameters that are missing a type annotation",
      "description": "Generate or suppress diagnostics for input parameters for functions or methods that are missing a type annotation. The `self` and `cls` parameters used within methods are exempt from this check.",
      "markdownDescription": "Generate or suppress diagnostics for input parameters for functions or methods that are missing a type annotation. The `self` and `cls` parameters used within methods are exempt from this check.",
      "x-intellij-html-description": "Generate or suppress diagnostics for input parameters for functions or methods that are missing a type annotation. The <code>self</code> and <code>cls</code> parameters used within methods are exempt from this check.",
      "default": "none"
    },
    "reportMissingTypeArgument": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting generic class reference with missing type arguments",
      "description": "Generate or suppress diagnostics when a generic class is used without providing explicit or implicit type arguments.",
      "default": "none"
    },
    "reportInvalidTypeVarUse": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting improper use of type variables within function signatures",
      "description": "Generate or suppress diagnostics when a `TypeVar` is used inappropriately (e.g. if a `TypeVar` appears only once) within a generic function signature.",
      "markdownDescription": "Generate or suppress diagnostics when a `TypeVar` is used inappropriately (e.g. if a `TypeVar` appears only once) within a generic function signature.",
      "x-intellij-html-description": "Generate or suppress diagnostics when a <code>TypeVar</code> is used inappropriately (e.g. if a <code>TypeVar</code> appears only once) within a generic function signature.",
      "default": "warning"
    },
    "reportCallInDefaultInitializer": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting usage of function calls within a default value initializer expression",
      "description": "Generate or suppress diagnostics for function calls, list expressions, set expressions, or dictionary expressions within a default value initialization expression. Such calls can mask expensive operations that are performed at module initialization time.",
      "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",
      "description": "Generate or suppress diagnostics for `isinstance` or `issubclass` calls where the result is statically determined to be always true or always false. Such calls are often indicative of a programming error.",
      "markdownDescription": "Generate or suppress diagnostics for `isinstance` or `issubclass` calls where the result is statically determined to be always true or always false. Such calls are often indicative of a programming error.",
      "x-intellij-html-description": "Generate or suppress diagnostics for <code>isinstance</code> or <code>issubclass</code> calls where the result is statically determined to be always true or always false. Such calls are often indicative of a programming error.",
      "default": "none"
    },
    "reportUnnecessaryCast": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting calls to `cast` that are unnecessary",
      "description": "Generate or suppress diagnostics for `cast` calls that are statically determined to be unnecessary. Such calls are sometimes indicative of a programming error.",
      "markdownDescription": "Generate or suppress diagnostics for `cast` calls that are statically determined to be unnecessary. Such calls are sometimes indicative of a programming error.",
      "x-intellij-html-description": "Generate or suppress diagnostics for <code>cast</code> calls that are statically determined to be unnecessary. Such calls are sometimes indicative of a programming error.",
      "default": "none"
    },
    "reportUnnecessaryComparison": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting the use of `==` or `!=` comparisons that are unnecessary",
      "description": "Generate or suppress diagnostics for `==` or `!=` comparisons or other conditional expressions that are statically determined to always evaluate to `False` or `True`. Such comparisons are sometimes indicative of a programming error. Also reports `case` clauses in a `match` statement that can be statically determined to never match (with exception of the `_` wildcard pattern, which is exempted).",
      "markdownDescription": "Generate or suppress diagnostics for `==` or `!=` comparisons or other conditional expressions that are statically determined to always evaluate to `False` or `True`. Such comparisons are sometimes indicative of a programming error. Also reports `case` clauses in a `match` statement that can be statically determined to never match (with exception of the `_` wildcard pattern, which is exempted).",
      "x-intellij-html-description": "Generate or suppress diagnostics for <code>==</code> or <code>!=</code> comparisons or other conditional expressions that are statically determined to always evaluate to <code>False</code> or <code>True</code>. Such comparisons are sometimes indicative of a programming error. Also reports <code>case</code> clauses in a <code>match</code> statement that can be statically determined to never match (with exception of the <code>_</code> wildcard pattern, which is exempted).",
      "default": "none"
    },
    "reportUnnecessaryContains": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting the use of `in` operations that are unnecessary",
      "description": "Generate or suppress diagnostics for `in` operations that are statically determined to always evaluate to `False` or `True`. Such operations are sometimes indicative of a programming error.",
      "markdownDescription": "Generate or suppress diagnostics for `in` operations that are statically determined to always evaluate to `False` or `True`. Such operations are sometimes indicative of a programming error.",
      "x-intellij-html-description": "Generate or suppress diagnostics for <code>in</code> operations that are statically determined to always evaluate to <code>False</code> or <code>True</code>. Such operations are sometimes indicative of a programming error.",
      "default": "none"
    },
    "reportAssertAlwaysTrue": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting `assert` expressions that will always evaluate to `True`",
      "description": "Generate or suppress diagnostics for `assert` statement that will provably always assert because its first argument is a parenthesized tuple (for example, `assert (v > 0, \"Bad value\")` when the intent was probably `assert v > 0, \"Bad value\"`). This is a common programming error.",
      "markdownDescription": "Generate or suppress diagnostics for `assert` statement that will provably always assert because its first argument is a parenthesized tuple (for example, `assert (v > 0, \"Bad value\")` when the intent was probably `assert v > 0, \"Bad value\"`). This is a common programming error.",
      "x-intellij-html-description": "Generate or suppress diagnostics for <code>assert</code> statement that will provably always assert because its first argument is a parenthesized tuple (for example, <code>assert (v &gt; 0, &quot;Bad value&quot;)</code> when the intent was probably <code>assert v &gt; 0, &quot;Bad value&quot;</code>). This is a common programming error.",
      "default": "warning"
    },
    "reportSelfClsParameterName": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting missing or misnamed `self` parameters",
      "description": "Generate or suppress diagnostics for a missing or misnamed `self` parameter in instance methods and `cls` parameter in class methods. Instance methods in metaclasses (classes that derive from `type`) are allowed to use `cls` for instance methods.",
      "markdownDescription": "Generate or suppress diagnostics for a missing or misnamed `self` parameter in instance methods and `cls` parameter in class methods. Instance methods in metaclasses (classes that derive from `type`) are allowed to use `cls` for instance methods.",
      "x-intellij-html-description": "Generate or suppress diagnostics for a missing or misnamed <code>self</code> parameter in instance methods and <code>cls</code> parameter in class methods. Instance methods in metaclasses (classes that derive from <code>type</code>) are allowed to use <code>cls</code> for instance methods.",
      "default": "warning"
    },
    "reportImplicitStringConcatenation": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting usage of implicit concatenation of string literals",
      "description": "Generate or suppress diagnostics for two or more string literals that follow each other, indicating an implicit concatenation. This is considered a bad practice and often masks bugs such as missing commas.",
      "default": "none"
    },
    "reportUnboundVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an unbound variable",
      "description": "Generate or suppress diagnostics for unbound variables.",
      "default": "error"
    },
    "reportUnhashable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of unhashable object in container that requires hashability",
      "description": "Generate or suppress diagnostics for the use of an unhashable object in a container that requires hashability.",
      "default": "error"
    },
    "reportUndefinedVariable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of attempts to use an undefined variable",
      "description": "Generate or suppress diagnostics for undefined variables.",
      "default": "error"
    },
    "reportInvalidStubStatement": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of type stub statements that do not conform to PEP 484",
      "description": "Generate or suppress diagnostics for statements that are syntactically correct but have no purpose within a type stub file.",
      "default": "none"
    },
    "reportIncompleteStub": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of incomplete type stubs that declare a module-level `__getattr__` function",
      "description": "Generate or suppress diagnostics for a module-level `__getattr__` call in a type stub file, indicating that it is incomplete.",
      "markdownDescription": "Generate or suppress diagnostics for a module-level `__getattr__` call in a type stub file, indicating that it is incomplete.",
      "x-intellij-html-description": "Generate or suppress diagnostics for a module-level <code>__getattr__</code> call in a type stub file, indicating that it is incomplete.",
      "default": "none"
    },
    "reportUnsupportedDunderAll": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of unsupported operations performed on `__all__`",
      "description": "Generate or suppress diagnostics for statements that define or manipulate `__all__` in a way that is not allowed by a static type checker, thus rendering the contents of `__all__` to be unknown or incorrect. Also reports names within the `__all__` list that are not present in the module namespace.",
      "markdownDescription": "Generate or suppress diagnostics for statements that define or manipulate `__all__` in a way that is not allowed by a static type checker, thus rendering the contents of `__all__` to be unknown or incorrect. Also reports names within the `__all__` list that are not present in the module namespace.",
      "x-intellij-html-description": "Generate or suppress diagnostics for statements that define or manipulate <code>__all__</code> in a way that is not allowed by a static type checker, thus rendering the contents of <code>__all__</code> to be unknown or incorrect. Also reports names within the <code>__all__</code> list that are not present in the module namespace.",
      "default": "warning"
    },
    "reportUnusedCallResult": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of call expressions whose results are not consumed",
      "description": "Generate or suppress diagnostics for call statements whose return value is not used in any way and is not `None`.",
      "markdownDescription": "Generate or suppress diagnostics for call statements whose return value is not used in any way and is not `None`.",
      "x-intellij-html-description": "Generate or suppress diagnostics for call statements whose return value is not used in any way and is not <code>None</code>.",
      "default": "none"
    },
    "reportUnusedCoroutine": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of call expressions that returns `Coroutine` whose results are not consumed",
      "description": "Generate or suppress diagnostics for call statements whose return value is not used in any way and is a `Coroutine`. This identifies a common error where an `await` keyword is mistakenly omitted.",
      "markdownDescription": "Generate or suppress diagnostics for call statements whose return value is not used in any way and is a `Coroutine`. This identifies a common error where an `await` keyword is mistakenly omitted.",
      "x-intellij-html-description": "Generate or suppress diagnostics for call statements whose return value is not used in any way and is a <code>Coroutine</code>. This identifies a common error where an <code>await</code> keyword is mistakenly omitted.",
      "default": "error"
    },
    "reportUnusedExcept": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of unreachable except clauses",
      "description": "Generate or suppress diagnostics for an `except` clause that will never be reached.",
      "markdownDescription": "Generate or suppress diagnostics for an `except` clause that will never be reached.",
      "x-intellij-html-description": "Generate or suppress diagnostics for an <code>except</code> clause that will never be reached.",
      "default": "error"
    },
    "reportUnusedExpression": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of simple expressions whose value is not used in any way",
      "description": "Generate or suppress diagnostics for simple expressions whose results are not used in any way.",
      "default": "warning"
    },
    "reportUnnecessaryTypeIgnoreComment": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of `# type: ignore` comments that have no effect",
      "description": "Generate or suppress diagnostics for a `# type: ignore` or `# pyright: ignore` comment that would have no effect if removed.",
      "markdownDescription": "Generate or suppress diagnostics for a `# type: ignore` or `# pyright: ignore` comment that would have no effect if removed.",
      "x-intellij-html-description": "Generate or suppress diagnostics for a <code># type: ignore</code> or <code># pyright: ignore</code> comment that would have no effect if removed.",
      "default": "none"
    },
    "reportMatchNotExhaustive": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of `match` statements that do not exhaustively match all possible values",
      "description": "Generate or suppress diagnostics for a `match` statement that does not provide cases that exhaustively match against all potential types of the target expression.",
      "markdownDescription": "Generate or suppress diagnostics for a `match` statement that does not provide cases that exhaustively match against all potential types of the target expression.",
      "x-intellij-html-description": "Generate or suppress diagnostics for a <code>match</code> statement that does not provide cases that exhaustively match against all potential types of the target expression.",
      "default": "none"
    },
    "reportUnreachable": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting of code that is determined by type analysis to be unreachable",
      "description": "Generate or suppress diagnostics for code that is determined to be structurally unreachable or unreachable by type analysis.",
      "default": "none"
    },
    "reportImplicitOverride": {
      "$ref": "#/$defs/diagnostic",
      "title": "Controls reporting overridden methods that are missing an `@override` decorator",
      "description": "Generate or suppress diagnostics for overridden methods in a class that are missing an explicit `@override` decorator.",
      "markdownDescription": "Generate or suppress diagnostics for overridden methods in a class that are missing an explicit `@override` decorator.",
      "x-intellij-html-description": "Generate or suppress diagnostics for overridden methods in a class that are missing an explicit <code>@override</code> decorator.",
      "default": "none"
    }
  }
}
