jupyterlab-lsp
jupyterlab-lsp copied to clipboard
Unable to set pyright settings through overrides.json5
Description
I am trying to set "python.analysis.diagnosticSeverityOverrides.reportMissingImports": "none" in my pyright lsp config through overrides.json but this setting doesn't show up in the settings editor.
Reproduce
- Add the following in the
overrides.json5-
{
"@jupyter-lsp/jupyterlab-lsp:plugin": {
language_servers: {
pyright: {
priority: 200,
serverSettings: {
"python.analysis.extraPaths": ["/prod/tools/base/lib/python"],
"python.analysis.diagnosticSeverityOverrides.reportMissingImports": "none",
pyright: {
plugins: {
pycodestyle: {
enabled: false,
},
pydocstyle: {
enabled: false,
},
pyflakes: {
enabled: false,
},
flake8: {
enabled: false,
},
},
},
},
},
},
},
}
- Check the
Language Serverssettings page on JupyterLab after launching lab. - This setting gets overridden somehow.
- The following dialog is display -
The pyright section in the JSON settings editor also seems to have the same setting in multiple places (this is what it looks like for me) -
"pyright": {
"priority": 200,
"serverSettings": {
"python.analysis.autoImportCompletions": true,
"python.analysis.autoSearchPaths": true,
"python.analysis.extraPaths": [
"/prod/tools/base/lib/python"
],
"python.analysis.stubPath": "typings",
"python.analysis.diagnosticMode": "openFilesOnly",
"python.analysis.diagnosticSeverityOverrides": {
"reportGeneralTypeIssues": "error",
"reportPropertyTypeMismatch": "none",
"reportFunctionMemberAccess": "none",
"reportMissingImports": "error",
"reportMissingModuleSource": "warning",
"reportMissingTypeStubs": "none",
"reportImportCycles": "none",
"reportUnusedImport": "none",
"reportUnusedClass": "none",
"reportUnusedFunction": "none",
"reportUnusedVariable": "none",
"reportDuplicateImport": "none",
"reportWildcardImportFromLibrary": "warning",
"reportOptionalSubscript": "error",
"reportOptionalMemberAccess": "error",
"reportOptionalCall": "error",
"reportOptionalIterable": "error",
"reportOptionalContextManager": "error",
"reportOptionalOperand": "error",
"reportTypedDictNotRequiredAccess": "error",
"reportUntypedFunctionDecorator": "none",
"reportUntypedClassDecorator": "none",
"reportUntypedBaseClass": "none",
"reportUntypedNamedTuple": "none",
"reportPrivateUsage": "none",
"reportTypeCommentUsage": "none",
"reportPrivateImportUsage": "error",
"reportConstantRedefinition": "none",
"reportDeprecated": "none",
"reportIncompatibleMethodOverride": "none",
"reportIncompatibleVariableOverride": "none",
"reportInconsistentConstructor": "none",
"reportOverlappingOverload": "none",
"reportMissingSuperCall": "none",
"reportUninitializedInstanceVariable": "none",
"reportInvalidStringEscapeSequence": "warning",
"reportUnknownParameterType": "none",
"reportUnknownArgumentType": "none",
"reportUnknownLambdaType": "none",
"reportUnknownVariableType": "none",
"reportUnknownMemberType": "none",
"reportMissingParameterType": "none",
"reportMissingTypeArgument": "none",
"reportInvalidTypeVarUse": "warning",
"reportCallInDefaultInitializer": "none",
"reportUnnecessaryIsInstance": "none",
"reportUnnecessaryCast": "none",
"reportUnnecessaryComparison": "none",
"reportUnnecessaryContains": "none",
"reportAssertAlwaysTrue": "warning",
"reportSelfClsParameterName": "warning",
"reportImplicitStringConcatenation": "none",
"reportInvalidStubStatement": "none",
"reportIncompleteStub": "none",
"reportUndefinedVariable": "error",
"reportUnboundVariable": "error",
"reportUnsupportedDunderAll": "warning",
"reportUnusedCallResult": "none",
"reportUnusedCoroutine": "error",
"reportUnusedExpression": "warning",
"reportUnnecessaryTypeIgnoreComment": "none",
"reportMatchNotExhaustive": "none",
"reportShadowedImports": "none",
"reportImplicitOverride": "none"
},
"python.analysis.logLevel": "Information",
"python.analysis.typeCheckingMode": "basic",
"python.analysis.typeshedPaths": [],
"python.analysis.useLibraryCodeForTypes": true,
"pyright.disableLanguageServices": false,
"pyright.disableOrganizeImports": false,
"python.pythonPath": "python",
"python.venvPath": "",
"python.analysis.diagnosticSeverityOverrides.reportMissingImports": "none",
"python.analysis.diagnosticSeverityOverrides.reportGeneralTypeIssues": "error",
"python.analysis.diagnosticSeverityOverrides.reportPropertyTypeMismatch": "none",
"python.analysis.diagnosticSeverityOverrides.reportFunctionMemberAccess": "none",
"python.analysis.diagnosticSeverityOverrides.reportMissingModuleSource": "warning",
"python.analysis.diagnosticSeverityOverrides.reportMissingTypeStubs": "none",
"python.analysis.diagnosticSeverityOverrides.reportImportCycles": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedImport": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedClass": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedFunction": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedVariable": "none",
"python.analysis.diagnosticSeverityOverrides.reportDuplicateImport": "none",
"python.analysis.diagnosticSeverityOverrides.reportWildcardImportFromLibrary": "warning",
"python.analysis.diagnosticSeverityOverrides.reportOptionalSubscript": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalMemberAccess": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalCall": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalIterable": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalContextManager": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalOperand": "error",
"python.analysis.diagnosticSeverityOverrides.reportTypedDictNotRequiredAccess": "error",
"python.analysis.diagnosticSeverityOverrides.reportUntypedFunctionDecorator": "none",
"python.analysis.diagnosticSeverityOverrides.reportUntypedClassDecorator": "none",
"python.analysis.diagnosticSeverityOverrides.reportUntypedBaseClass": "none",
"python.analysis.diagnosticSeverityOverrides.reportUntypedNamedTuple": "none",
"python.analysis.diagnosticSeverityOverrides.reportPrivateUsage": "none",
"python.analysis.diagnosticSeverityOverrides.reportTypeCommentUsage": "none",
"python.analysis.diagnosticSeverityOverrides.reportPrivateImportUsage": "error",
"python.analysis.diagnosticSeverityOverrides.reportConstantRedefinition": "none",
"python.analysis.diagnosticSeverityOverrides.reportDeprecated": "none",
"python.analysis.diagnosticSeverityOverrides.reportIncompatibleMethodOverride": "none",
"python.analysis.diagnosticSeverityOverrides.reportIncompatibleVariableOverride": "none",
"python.analysis.diagnosticSeverityOverrides.reportInconsistentConstructor": "none",
"python.analysis.diagnosticSeverityOverrides.reportOverlappingOverload": "none",
"python.analysis.diagnosticSeverityOverrides.reportMissingSuperCall": "none",
"python.analysis.diagnosticSeverityOverrides.reportUninitializedInstanceVariable": "none",
"python.analysis.diagnosticSeverityOverrides.reportInvalidStringEscapeSequence": "warning",
"python.analysis.diagnosticSeverityOverrides.reportUnknownParameterType": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnknownArgumentType": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnknownLambdaType": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnknownVariableType": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnknownMemberType": "none",
"python.analysis.diagnosticSeverityOverrides.reportMissingParameterType": "none",
"python.analysis.diagnosticSeverityOverrides.reportMissingTypeArgument": "none",
"python.analysis.diagnosticSeverityOverrides.reportInvalidTypeVarUse": "warning",
"python.analysis.diagnosticSeverityOverrides.reportCallInDefaultInitializer": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryIsInstance": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryCast": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryComparison": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryContains": "none",
"python.analysis.diagnosticSeverityOverrides.reportAssertAlwaysTrue": "warning",
"python.analysis.diagnosticSeverityOverrides.reportSelfClsParameterName": "warning",
"python.analysis.diagnosticSeverityOverrides.reportImplicitStringConcatenation": "none",
"python.analysis.diagnosticSeverityOverrides.reportInvalidStubStatement": "none",
"python.analysis.diagnosticSeverityOverrides.reportIncompleteStub": "none",
"python.analysis.diagnosticSeverityOverrides.reportUndefinedVariable": "error",
"python.analysis.diagnosticSeverityOverrides.reportUnboundVariable": "error",
"python.analysis.diagnosticSeverityOverrides.reportUnsupportedDunderAll": "warning",
"python.analysis.diagnosticSeverityOverrides.reportUnusedCallResult": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedCoroutine": "error",
"python.analysis.diagnosticSeverityOverrides.reportUnusedExpression": "warning",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryTypeIgnoreComment": "none",
"python.analysis.diagnosticSeverityOverrides.reportMatchNotExhaustive": "none",
"python.analysis.diagnosticSeverityOverrides.reportShadowedImports": "none",
"python.analysis.diagnosticSeverityOverrides.reportImplicitOverride": "none"
},
"configuration": {
"python.analysis.autoImportCompletions": true,
"python.analysis.autoSearchPaths": true,
"python.analysis.extraPaths": [
"/prod/tools/base/lib/python"
],
"python.analysis.stubPath": "typings",
"python.analysis.diagnosticMode": "openFilesOnly",
"python.analysis.diagnosticSeverityOverrides.reportMissingImports": "none",
"python.analysis.logLevel": "Information",
"python.analysis.typeCheckingMode": "basic",
"python.analysis.typeshedPaths": [],
"python.analysis.useLibraryCodeForTypes": true,
"pyright.disableLanguageServices": false,
"pyright.disableOrganizeImports": false,
"python.pythonPath": "python",
"python.venvPath": "",
"python.analysis.diagnosticSeverityOverrides.reportGeneralTypeIssues": "error",
"python.analysis.diagnosticSeverityOverrides.reportPropertyTypeMismatch": "none",
"python.analysis.diagnosticSeverityOverrides.reportFunctionMemberAccess": "none",
"python.analysis.diagnosticSeverityOverrides.reportMissingModuleSource": "warning",
"python.analysis.diagnosticSeverityOverrides.reportMissingTypeStubs": "none",
"python.analysis.diagnosticSeverityOverrides.reportImportCycles": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedImport": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedClass": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedFunction": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedVariable": "none",
"python.analysis.diagnosticSeverityOverrides.reportDuplicateImport": "none",
"python.analysis.diagnosticSeverityOverrides.reportWildcardImportFromLibrary": "warning",
"python.analysis.diagnosticSeverityOverrides.reportOptionalSubscript": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalMemberAccess": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalCall": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalIterable": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalContextManager": "error",
"python.analysis.diagnosticSeverityOverrides.reportOptionalOperand": "error",
"python.analysis.diagnosticSeverityOverrides.reportTypedDictNotRequiredAccess": "error",
"python.analysis.diagnosticSeverityOverrides.reportUntypedFunctionDecorator": "none",
"python.analysis.diagnosticSeverityOverrides.reportUntypedClassDecorator": "none",
"python.analysis.diagnosticSeverityOverrides.reportUntypedBaseClass": "none",
"python.analysis.diagnosticSeverityOverrides.reportUntypedNamedTuple": "none",
"python.analysis.diagnosticSeverityOverrides.reportPrivateUsage": "none",
"python.analysis.diagnosticSeverityOverrides.reportTypeCommentUsage": "none",
"python.analysis.diagnosticSeverityOverrides.reportPrivateImportUsage": "error",
"python.analysis.diagnosticSeverityOverrides.reportConstantRedefinition": "none",
"python.analysis.diagnosticSeverityOverrides.reportDeprecated": "none",
"python.analysis.diagnosticSeverityOverrides.reportIncompatibleMethodOverride": "none",
"python.analysis.diagnosticSeverityOverrides.reportIncompatibleVariableOverride": "none",
"python.analysis.diagnosticSeverityOverrides.reportInconsistentConstructor": "none",
"python.analysis.diagnosticSeverityOverrides.reportOverlappingOverload": "none",
"python.analysis.diagnosticSeverityOverrides.reportMissingSuperCall": "none",
"python.analysis.diagnosticSeverityOverrides.reportUninitializedInstanceVariable": "none",
"python.analysis.diagnosticSeverityOverrides.reportInvalidStringEscapeSequence": "warning",
"python.analysis.diagnosticSeverityOverrides.reportUnknownParameterType": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnknownArgumentType": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnknownLambdaType": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnknownVariableType": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnknownMemberType": "none",
"python.analysis.diagnosticSeverityOverrides.reportMissingParameterType": "none",
"python.analysis.diagnosticSeverityOverrides.reportMissingTypeArgument": "none",
"python.analysis.diagnosticSeverityOverrides.reportInvalidTypeVarUse": "warning",
"python.analysis.diagnosticSeverityOverrides.reportCallInDefaultInitializer": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryIsInstance": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryCast": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryComparison": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryContains": "none",
"python.analysis.diagnosticSeverityOverrides.reportAssertAlwaysTrue": "warning",
"python.analysis.diagnosticSeverityOverrides.reportSelfClsParameterName": "warning",
"python.analysis.diagnosticSeverityOverrides.reportImplicitStringConcatenation": "none",
"python.analysis.diagnosticSeverityOverrides.reportInvalidStubStatement": "none",
"python.analysis.diagnosticSeverityOverrides.reportIncompleteStub": "none",
"python.analysis.diagnosticSeverityOverrides.reportUndefinedVariable": "error",
"python.analysis.diagnosticSeverityOverrides.reportUnboundVariable": "error",
"python.analysis.diagnosticSeverityOverrides.reportUnsupportedDunderAll": "warning",
"python.analysis.diagnosticSeverityOverrides.reportUnusedCallResult": "none",
"python.analysis.diagnosticSeverityOverrides.reportUnusedCoroutine": "error",
"python.analysis.diagnosticSeverityOverrides.reportUnusedExpression": "warning",
"python.analysis.diagnosticSeverityOverrides.reportUnnecessaryTypeIgnoreComment": "none",
"python.analysis.diagnosticSeverityOverrides.reportMatchNotExhaustive": "none",
"python.analysis.diagnosticSeverityOverrides.reportShadowedImports": "none",
"python.analysis.diagnosticSeverityOverrides.reportImplicitOverride": "none"
},
"rank": 200
},
Context
- JupyterLab: v4.1.0rc1
- jupyterlab-lsp: v5.0.2
- jupyter-lsp: v2.2.2
The default settings come from three places:
- Defaults of the language server
- Overrides set by
workspace_configurationinjupyter_server_config.pyor similar (see here for an example) - Overrides set via
overrides.json
Additionally all of these settings can be set using dotted or nested conventions.
The error dialog that you see is saying that after combining the language server defaults and the two overrides there is both a dotted and nested convention. I will try to reproduce the issue to assess what place this is coming from; does changing the overrides.json5 to use the nested convention (like below) help?
{
"@jupyter-lsp/jupyterlab-lsp:plugin": {
language_servers: {
pyright: {
priority: 200,
serverSettings: {
"python.analysis.extraPaths": ["/prod/tools/base/lib/python"],
python: {
analysis: {
diagnosticSeverityOverrides: {
reportMissingImports: "none"
},
},
},
},
},
},
},
}
That doesn't help either, this was resovled to -
Settings
"pyright": {
"priority": 200,
"serverSettings": {
"python.analysis.autoImportCompletions": true,
"python.analysis.autoSearchPaths": true,
"python.analysis.extraPaths": [
"/prod/tools/base/lib/python"
],
"python.analysis.stubPath": "typings",
"python.analysis.diagnosticMode": "openFilesOnly",
"python.analysis.diagnosticSeverityOverrides": {
"reportGeneralTypeIssues": "error",
"reportPropertyTypeMismatch": "none",
"reportFunctionMemberAccess": "none",
"reportMissingImports": "error",
"reportMissingModuleSource": "warning",
"reportMissingTypeStubs": "none",
"reportImportCycles": "none",
"reportUnusedImport": "none",
"reportUnusedClass": "none",
"reportUnusedFunction": "none",
"reportUnusedVariable": "none",
"reportDuplicateImport": "none",
"reportWildcardImportFromLibrary": "warning",
"reportOptionalSubscript": "error",
"reportOptionalMemberAccess": "error",
"reportOptionalCall": "error",
"reportOptionalIterable": "error",
"reportOptionalContextManager": "error",
"reportOptionalOperand": "error",
"reportTypedDictNotRequiredAccess": "error",
"reportUntypedFunctionDecorator": "none",
"reportUntypedClassDecorator": "none",
"reportUntypedBaseClass": "none",
"reportUntypedNamedTuple": "none",
"reportPrivateUsage": "none",
"reportTypeCommentUsage": "none",
"reportPrivateImportUsage": "error",
"reportConstantRedefinition": "none",
"reportDeprecated": "none",
"reportIncompatibleMethodOverride": "none",
"reportIncompatibleVariableOverride": "none",
"reportInconsistentConstructor": "none",
"reportOverlappingOverload": "none",
"reportMissingSuperCall": "none",
"reportUninitializedInstanceVariable": "none",
"reportInvalidStringEscapeSequence": "warning",
"reportUnknownParameterType": "none",
"reportUnknownArgumentType": "none",
"reportUnknownLambdaType": "none",
"reportUnknownVariableType": "none",
"reportUnknownMemberType": "none",
"reportMissingParameterType": "none",
"reportMissingTypeArgument": "none",
"reportInvalidTypeVarUse": "warning",
"reportCallInDefaultInitializer": "none",
"reportUnnecessaryIsInstance": "none",
"reportUnnecessaryCast": "none",
"reportUnnecessaryComparison": "none",
"reportUnnecessaryContains": "none",
"reportAssertAlwaysTrue": "warning",
"reportSelfClsParameterName": "warning",
"reportImplicitStringConcatenation": "none",
"reportInvalidStubStatement": "none",
"reportIncompleteStub": "none",
"reportUndefinedVariable": "error",
"reportUnboundVariable": "error",
"reportUnsupportedDunderAll": "warning",
"reportUnusedCallResult": "none",
"reportUnusedCoroutine": "error",
"reportUnusedExpression": "warning",
"reportUnnecessaryTypeIgnoreComment": "none",
"reportMatchNotExhaustive": "none",
"reportShadowedImports": "none",
"reportImplicitOverride": "none"
},
"python.analysis.logLevel": "Information",
"python.analysis.typeCheckingMode": "basic",
"python.analysis.typeshedPaths": [],
"python.analysis.useLibraryCodeForTypes": true,
"pyright.disableLanguageServices": false,
"pyright.disableOrganizeImports": false,
"python.pythonPath": "python",
"python.venvPath": ""
},
"configuration": {
"python.analysis.autoImportCompletions": true,
"python.analysis.autoSearchPaths": true,
"python.analysis.extraPaths": [
"/prod/tools/base/lib/python"
],
"python.analysis.stubPath": "typings",
"python.analysis.diagnosticMode": "openFilesOnly",
"python.analysis.logLevel": "Information",
"python.analysis.typeCheckingMode": "basic",
"python.analysis.typeshedPaths": [],
"python.analysis.useLibraryCodeForTypes": true,
"pyright.disableLanguageServices": false,
"pyright.disableOrganizeImports": false,
"python.pythonPath": "python",
"python.venvPath": ""
},
"rank": 200
},