{
    "$schema": "https://raw.githubusercontent.com/microsoft/pyright/main/packages/vscode-pyright/schemas/pyrightconfig.schema.json",
    "typeshedPath": ".",
    "include": [
        "stdlib",
        "stubs",
        "test_cases"
    ],
    "exclude": [
        "**/@python2",
        "stdlib/distutils/command",
        "stdlib/lib2to3/refactor.pyi",
        "stdlib/multiprocessing/reduction.pyi",
        "stdlib/sqlite3/dbapi2.pyi",
        "stdlib/_tkinter.pyi",
        "stdlib/tkinter",
        "stdlib/xml/dom/NodeFilter.pyi",
        "stdlib/xml/dom/expatbuilder.pyi",
        "stdlib/xml/dom/minidom.pyi",
        "stdlib/xml/dom/pulldom.pyi",
        "stdlib/xml/sax",
        "stubs/aws-xray-sdk",
        "stubs/babel",
        "stubs/backports.ssl_match_hostname",
        "stubs/bleach",
        "stubs/boto",
        "stubs/beautifulsoup4",
        "stubs/braintree",
        "stubs/caldav",
        "stubs/commonmark",
        "stubs/cryptography",
        "stubs/dateparser",
        "stubs/dj-database-url",
        "stubs/docutils",
        "stubs/Flask-SQLAlchemy",
        "stubs/fpdf2",
        "stubs/html5lib",
        "stubs/httplib2",
        "stubs/humanfriendly",
        "stubs/invoke",
        "stubs/jmespath",
        "stubs/jsonschema",
        "stubs/ldap3",
        "stubs/Markdown",
        "stubs/mock",
        "stubs/mysqlclient",
        "stubs/oauthlib",
        "stubs/openpyxl",
        "stubs/Pillow",
        "stubs/paramiko",
        "stubs/prettytable",
        "stubs/protobuf",
        "stubs/google-cloud-ndb",
        "stubs/passlib",
        "stubs/pep8-naming",
        "stubs/psutil",
        "stubs/psycopg2",
        "stubs/pyflakes",
        "stubs/Pygments",
        "stubs/PyMySQL",
        "stubs/python-dateutil",
        "stubs/python-jose",
        "stubs/pyvmomi",
        "stubs/PyYAML",
        "stubs/redis",
        "stubs/requests",
        "stubs/selenium",
        "stubs/Send2Trash",
        "stubs/setuptools",
        "stubs/simplejson",
        "stubs/slumber",
        "stubs/SQLAlchemy",
        "stubs/stripe",
        "stubs/ttkthemes",
        "stubs/urllib3",
        "stubs/vobject"
    ],
    "typeCheckingMode": "basic",
    "strictListInference": true,
    "strictDictionaryInference": true,
    "strictParameterNoneValue": true,
    "strictSetInference": true,
    "reportFunctionMemberAccess": "error",
    "reportMissingModuleSource": "none",
    "reportMissingTypeStubs": "error",
    "reportUnusedImport": "error",
    "reportUnusedClass": "error",
    "reportUnusedFunction": "error",
    "reportUnusedVariable": "error",
    "reportDuplicateImport": "error",
    "reportOptionalSubscript": "error",
    "reportOptionalMemberAccess": "error",
    "reportOptionalCall": "error",
    "reportOptionalIterable": "error",
    "reportOptionalContextManager": "error",
    "reportOptionalOperand": "error",
    "reportUntypedFunctionDecorator": "error",
    "reportUntypedClassDecorator": "error",
    "reportUntypedBaseClass": "error",
    "reportUntypedNamedTuple": "error",
    "reportPrivateUsage": "none",
    "reportConstantRedefinition": "error",
    "reportInvalidStringEscapeSequence": "error",
    "reportUnknownParameterType": "error",
    "reportUnknownArgumentType": "error",
    "reportUnknownLambdaType": "error",
    "reportUnknownVariableType": "error",
    "reportUnknownMemberType": "error",
    "reportMissingTypeArgument": "error",
    "reportUndefinedVariable": "error",
    "reportUnboundVariable": "error",
    "reportInvalidStubStatement": "error",
    "reportInvalidTypeVarUse": "error",
    "reportSelfClsParameterName": "error",
    "reportUnsupportedDunderAll": "error",
    "reportInconsistentConstructor": "error",
    "reportTypeCommentUsage": "error",
    "reportUnnecessaryComparison": "error",
    // Incompatible overrides and property type mismatches are out of typeshed's control
    // as they are inherited from the implementation.
    "reportIncompatibleMethodOverride": "none",
    "reportIncompatibleVariableOverride": "none",
    "reportPropertyTypeMismatch": "none",
    // Overlapping overloads are often necessary in a stub, meaning pyright's check
    // (which is stricter than mypy's; see mypy issue #10143 and #10157)
    // would cause many false positives and catch few bugs.
    "reportOverlappingOverload": "none",
}
