<commit_before><idea-plugin version="2">
  <!-- Components and extensions declared in this file work both in PyCharm and Python plugin. -->

  <resource-bundle>com.jetbrains.python.PyBundle</resource-bundle>

  <extensions defaultExtensionNs="com.intellij">
    <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
    <fileTypeFactory implementation="com.jetbrains.python.PythonFileTypeFactory"/>
    <lang.syntaxHighlighterFactory key="Python" implementationClass="com.jetbrains.python.highlighting.PySyntaxHighlighterFactory"/>
    <lang.braceMatcher language="Python" implementationClass="com.jetbrains.python.PyBraceMatcher"/>
    <lang.parserDefinition language="Python" implementationClass="com.jetbrains.python.PythonParserDefinition"/>
    <lang.commenter language="Python" implementationClass="com.jetbrains.python.PythonCommenter"/>
    <lang.foldingBuilder language="Python" implementationClass="com.jetbrains.python.PythonFoldingBuilder"/>
    <lang.foldingBuilder language="DjangoTemplate"
                         implementationClass="com.jetbrains.django.lang.template.editor.DjangoTemplateFoldingBuilder"/>
    <lang.findUsagesProvider language="Python" implementationClass="com.jetbrains.python.findUsages.PythonFindUsagesProvider"/>
    <lang.formatter language="Python" implementationClass="com.jetbrains.python.formatter.PythonFormattingModelBuilder"/>
    <lang.whiteSpaceFormattingStrategy language="Python"
                                       implementationClass="com.jetbrains.python.formatter.PyWhiteSpaceFormattingStrategy"/>
    <lang.namesValidator language="Python" implementationClass="com.jetbrains.python.refactoring.rename.PythonNamesValidator"/>
    <lang.surroundDescriptor language="Python"
                             implementationClass="com.jetbrains.python.refactoring.surround.PyStatementSurroundDescriptor"/>
    <lang.surroundDescriptor language="Python"
                             implementationClass="com.jetbrains.python.refactoring.surround.PyExpressionSurroundDescriptor"/>
    <lang.psiStructureViewFactory language="Python" implementationClass="com.jetbrains.python.structureView.PyStructureViewFactory"/>
    <lang.documentationProvider language="Python" implementationClass="com.jetbrains.python.documentation.PythonDocumentationProvider"/>
    <lang.documentationProvider language="Python" implementationClass="com.jetbrains.python.console.PydevDocumentationProvider"/>
    <lang.emacs language="Python" implementationClass="com.jetbrains.python.editor.PyEmacsHandler"/>
    <annotator language="Python" implementationClass="com.jetbrains.python.validation.PyAnnotatingVisitor"/>
    <annotator language="Python" implementationClass="com.jetbrains.python.validation.PyDumbAwareAnnotator"/>
    <backspaceHandlerDelegate implementation="com.jetbrains.python.editor.PythonBackspaceHandler"/>
    <quoteHandler fileType="Python" className="com.jetbrains.python.editor.PythonQuoteHandler"/>
    <enterHandlerDelegate implementation="com.jetbrains.python.editor.PythonEnterHandler"/>
    <enterHandlerDelegate implementation="com.jetbrains.python.editor.PyEnterBetweenBracketsHandler"/>
    <sdkType implementation="com.jetbrains.python.sdk.PythonSdkType"/>
    <gotoClassContributor implementation="com.jetbrains.python.PyGotoClassContributor"/>
    <gotoSymbolContributor implementation="com.jetbrains.python.PyGotoSymbolContributor"/>
    <codeInsight.parameterInfo language="Python" implementationClass="com.jetbrains.python.PyParameterInfoHandler"/>
    <colorSettingsPage implementation="com.jetbrains.python.highlighting.PythonColorsPage"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyWordSelectionHandler"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyLiteralSelectionHandler"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyStatementSelectionHandler"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyListSelectionHandler"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyCommaSelectionHandler"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PyKeywordCompletionContributor"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PySpecialMethodNamesCompletionContributor"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PySuperMethodCompletionContributor"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PySuperClassAttributesCompletionContributor"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PyDictKeyNamesCompletionContributor"/>
    <lang.tokenSeparatorGenerator language="Python" implementationClass="com.jetbrains.python.PyTokenSeparatorGenerator"/>
    <lang.elementManipulator forClass="com.jetbrains.python.psi.PyReferenceExpression"
                             implementationClass="com.jetbrains.python.psi.impl.PyReferenceExpressionManipulator"/>

    <projectService serviceInterface="com.jetbrains.python.psi.PyElementGenerator"
                    serviceImplementation="com.jetbrains.python.psi.impl.PyElementGeneratorImpl"/>

    <typedHandler implementation="com.jetbrains.python.codeInsight.KeywordTypedHandler" id="pyCommaAfterKwd"/>
    <typedHandler implementation="com.jetbrains.django.lang.template.editor.DjangoBracesInterpolationTypedHandler"
                  id="pyDjangoBraceInterpolation"/>
    <typedHandler implementation="com.jetbrains.python.codeInsight.PyMethodNameTypedHandler" id="pyMethodNameTypedHandler"/>
    <typedHandler implementation="com.jetbrains.python.editor.PythonSpaceHandler"/>

    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassNameIndex"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassNameIndexInsensitive"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyFunctionNameIndex"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PySuperClassIndex"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyVariableNameIndex"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyInstanceAttributeIndex"/>

    <bundledColorSchemesProvider implementation="com.jetbrains.python.PythonBundledColorSchemeProvider"/>

    <declarationRangeHandler key="com.jetbrains.python.psi.PyClass"
                             implementationClass="com.jetbrains.python.codeInsight.PyDeclarationRangeHandler"/>

    <declarationRangeHandler key="com.jetbrains.python.psi.PyFunction"
                             implementationClass="com.jetbrains.python.codeInsight.PyDeclarationRangeHandler"/>

    <!-- Run/Debug -->
    <applicationService serviceInterface="com.jetbrains.python.run.PythonRunConfigurationExtensionsManager"
                        serviceImplementation="com.jetbrains.python.run.PythonRunConfigurationExtensionsManager"/>
    <configurationType implementation="com.jetbrains.python.run.PythonConfigurationType"/>
    <programRunner implementation="com.jetbrains.python.run.PythonRunner"/>
    <programRunner implementation="com.jetbrains.python.debugger.PyDebugRunner"/>
    <programRunner implementation="com.jetbrains.python.debugger.remote.PyRemoteDebugRunner"/>
    <programRunner implementation="com.jetbrains.python.coverage.PythonCoverageRunner"/>
    <configurationProducer implementation="com.jetbrains.python.run.PythonRunConfigurationProducer"/>
    <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyLineBreakpointType"/>
    <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.DjangoTemplateLineBreakpointType"/>
    <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyExceptionBreakpointType"/>
    <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.django.DjangoExceptionBreakpointType"/>

    <configurationType implementation="com.jetbrains.python.testing.PythonTestConfigurationType"/>

    <configurationProducer implementation="com.jetbrains.python.testing.unittest.PythonUnitTestConfigurationProducer"/>
    <testSrcLocator implementation="com.jetbrains.python.testing.PythonUnitTestTestIdUrlProvider"/>

    <configurationProducer implementation="com.jetbrains.python.testing.pytest.PyTestConfigurationProducer"/>
    <configurationProducer implementation="com.jetbrains.python.testing.doctest.PythonDocTestConfigurationProducer"/>
    <configurationProducer implementation="com.jetbrains.python.testing.nosetest.PythonNoseTestConfigurationProducer"/>
    <configurationProducer implementation="com.jetbrains.python.testing.attest.PythonAtTestConfigurationProducer"/>

    <referenceImporter implementation="com.jetbrains.python.codeInsight.imports.PythonReferenceImporter"/>
    <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.PyLineMarkerProvider"/>
    <definitionsSearch implementation="com.jetbrains.python.psi.search.PyDefinitionsSearch"/>
    <gotoTargetRendererProvider implementation="com.jetbrains.python.codeInsight.PyGotoTargetRendererProvider"/>

    <typeHierarchyProvider language="Python" implementationClass="com.jetbrains.python.hierarchy.PyTypeHierachyProvider"/>
    <highlightUsagesHandlerFactory implementation="com.jetbrains.python.codeInsight.highlighting.PyHighlightExitPointsHandlerFactory"/>

    <configurationType implementation="com.jetbrains.python.debugger.remote.PyRemoteDebugConfigurationType"/>
    <fileEditorProvider implementation="com.jetbrains.python.debugger.remote.vfs.PyRemoteDebugEditorProvider"/>

    <joinLinesHandler implementation="com.jetbrains.python.editor.PyJoinLinesHandler"/>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ImportToImportFromIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ImportFromToImportIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ImportToggleAliasIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PySplitIfIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyNegateComparisonIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyStringConcatenationToFormatIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ConvertFormatOperatorToMethodIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyFlipComparisonIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyDemorganIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ReplaceListComprehensionWithForIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyJoinIfIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyDictConstructorToLiteralFormIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyDictLiteralFormToConstructorIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyQuotedStringIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyConvertLambdaToFunctionIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ConvertVariadicParamIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyConvertTripleQuotedStringIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyTransformConditionalExpressionIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyDocStubIntention</className>
      <category>Python</category>
    </intentionAction>

    <testFinder implementation="com.jetbrains.python.codeInsight.testIntegration.PyTestFinder"/>
    <testCreator language="Python" implementationClass="com.jetbrains.python.codeInsight.testIntegration.PyTestCreator"/>
    <testGenerator implementation="com.jetbrains.python.codeInsight.testIntegration.PyTestGenerator"/>

    <stubElementTypeHolder class="com.jetbrains.python.PyElementTypes"/>
    <stubElementTypeHolder class="com.jetbrains.cython.psi.elementTypes.CythonElementTypes"/>

    <localInspection language="Python" shortName="PyArgumentListInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.call.arguments" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyArgumentListInspection"/>
    <localInspection language="Python" shortName="PyRedeclarationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.redeclaration" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRedeclarationInspection"/>
    <localInspection language="Python" shortName="PyUnresolvedReferencesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unresolved.refs" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnresolvedReferencesInspection"/>
    <localInspection language="Python" shortName="PyMethodParametersInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.problematic.first.parameter" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodParametersInspection"/>
    <localInspection language="Python" shortName="PyUnreachableCodeInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unreachable.code" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnreachableCodeInspection"/>
    <localInspection language="Python" shortName="PyMethodFirstArgAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.first.arg.assign" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodFirstArgAssignmentInspection"/>
    <localInspection language="Python" shortName="PyStringFormatInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.str.format" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStringFormatInspection"/>
    <localInspection language="Python" shortName="PyMethodOverridingInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.method.over" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodOverridingInspection"/>
    <localInspection language="Python" shortName="PyInitNewSignatureInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.new.init.signature" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInitNewSignatureInspection"/>
    <localInspection language="Python" shortName="PyTrailingSemicolonInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.trailing.semicolon" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTrailingSemicolonInspection"/>
    <localInspection language="Python" shortName="PyReturnFromInitInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.init.return" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyReturnFromInitInspection"/>
    <localInspection language="Python" shortName="PyUnusedLocalInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unused" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnusedLocalInspection"/>
    <localInspection language="Python" shortName="PyDictCreationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.dict.creation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDictCreationInspection"/>
    <localInspection language="Python" shortName="PyDictDuplicateKeysInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.duplicate.keys" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDictDuplicateKeysInspection"/>
    <localInspection language="Python" shortName="PyExceptClausesOrderInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.bad.except.clauses.order" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyExceptClausesOrderInspection"/>
    <localInspection language="Python" shortName="PyTupleAssignmentBalanceInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTupleAssignmentBalanceInspection"/>
    <localInspection language="Python" shortName="PyClassicStyleClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.classic.class.usage" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyClassicStyleClassInspection"/>
    <localInspection language="Python" shortName="PyExceptionInheritInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.exception.not.inherit" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyExceptionInheritInspection"/>
    <localInspection language="Python" shortName="PyDefaultArgumentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.default.argument" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDefaultArgumentInspection"/>
    <localInspection language="Python" shortName="PyRaisingNewStyleClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.raising.new.style.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRaisingNewStyleClassInspection"/>
    <localInspection language="Python" shortName="PyDocstringInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.docstring" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDocstringInspection"/>
    <localInspection language="Python" shortName="PyUnboundLocalVariableInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unbound" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnboundLocalVariableInspection"/>
    <localInspection language="Python" shortName="PyStatementEffectInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.statement.effect" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStatementEffectInspection"/>
    <localInspection language="Python" shortName="PySimplifyBooleanCheckInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.check.can.be.simplified" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySimplifyBooleanCheckInspection"/>
    <localInspection language="Python" shortName="PyFromFutureImportInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.from.future.import" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyFromFutureImportInspection"/>
    <localInspection language="Python" shortName="PyComparisonWithNoneInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.comparison.with.none" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyComparisonWithNoneInspection"/>
    <localInspection language="Python" shortName="PyStringExceptionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.raising.string.exception" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStringExceptionInspection"/>
    <localInspection language="Python" shortName="PySuperArgumentsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.wrong.super.arguments" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySuperArgumentsInspection"/>
    <localInspection language="Python" shortName="PyByteLiteralInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.byte.literal" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyByteLiteralInspection"/>
    <localInspection language="Python" shortName="PyTupleItemAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.tuple.item.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTupleItemAssignmentInspection"/>
    <localInspection language="Python" shortName="PyCallingNonCallableInspection" displayName="Trying to call a non-callable object" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyCallingNonCallableInspection"/>
    <localInspection language="Python" shortName="PyPropertyAccessInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.property.access" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPropertyAccessInspection"/>
    <localInspection language="Python" shortName="PyPropertyDefinitionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.property.definition" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPropertyDefinitionInspection"/>
    <localInspection language="Python" shortName="PyInconsistentIndentationInspection" displayName="Inconsistent indentation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInconsistentIndentationInspection"/>
    <localInspection language="Python" shortName="PyNestedDecoratorsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.nested.decorators" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyNestedDecoratorsInspection"/>
    <localInspection language="Python" shortName="PyCallByClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.different.class.call" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyCallByClassInspection"/>
    <localInspection language="Python" shortName="PyBroadExceptionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.too.broad.exception.clauses" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyBroadExceptionInspection"/>
    <localInspection language="Python" shortName="PyRedundantParenthesesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.redundant.parentheses" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRedundantParenthesesInspection"/>
    <localInspection language="Python" shortName="PyAugmentAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.augment.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyAugmentAssignmentInspection"/>
    <localInspection language="Python" shortName="PyChainedComparisonsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.chained.comparisons" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyChainedComparisonsInspection"/>
    <localInspection language="Python" shortName="PyOldStyleClassesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.oldstyle.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyOldStyleClassesInspection"/>
    <localInspection language="Python" shortName="PyCompatibilityInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.compatibility" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyCompatibilityInspection"/>
    <localInspection language="Python" shortName="PyListCreationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.list.creation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyListCreationInspection"/>
    <localInspection language="Python" shortName="PyUnnecessaryBackslashInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unnecessary.backslash" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnnecessaryBackslashInspection"/>
    <localInspection language="Python" shortName="PySingleQuotedDocstringInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.single.quoted.docstring" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySingleQuotedDocstringInspection"/>
    <localInspection language="Python" shortName="PyMissingConstructorInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.missing.super.constructor" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMissingConstructorInspection"/>
    <localInspection language="Python" shortName="PyArgumentEqualDefaultInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.argument.equal.default" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyArgumentEqualDefaultInspection"/>
    <localInspection language="Python" shortName="PySetFunctionToLiteralInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.set.function.to.literal" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySetFunctionToLiteralInspection"/>
    <localInspection language="Python" shortName="PyDecoratorInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.decorator.outside.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDecoratorInspection"/>
    <localInspection language="Python" shortName="PyTypeCheckerInspection" displayName="Type checker" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTypeCheckerInspection"/>
    <localInspection language="Python" shortName="PyDeprecationInspection" displayName="Deprecated function, class or module" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDeprecationInspection"/>
    
    <liveTemplateContext implementation="com.jetbrains.python.codeInsight.PythonTemplateContextType"/>
    <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.CollectionElementNameMacro"/>

    <codeInsight.overrideMethod language="Python" implementationClass="com.jetbrains.python.codeInsight.override.PyOverrideMethodsHandler"/>
    <lang.refactoringSupport language="Python" implementationClass="com.jetbrains.python.refactoring.RefactoringProvider"/>
    <lang.refactoringSupport.classMembersRefactoringSupport language="Python"
                                                            implementationClass="com.jetbrains.python.refactoring.classes.PyClassMembersRefactoringSupport"/>
    <inlineActionHandler implementation="com.jetbrains.python.refactoring.inline.PyInlineLocalHandler"/>
    <codeInsight.gotoSuper language="Python" implementationClass="com.jetbrains.python.codeInsight.PyGotoSuperHandler"/>
    <gotoDeclarationHandler implementation="com.jetbrains.python.codeInsight.PyBreakContinueGotoProvider" order="FIRST"/>
    <lang.smartEnterProcessor language="Python"
                              implementationClass="com.jetbrains.python.codeInsight.editorActions.smartEnter.PySmartEnterProcessor"/>
    <statementUpDownMover implementation="com.jetbrains.python.codeInsight.editorActions.moveUpDown.StatementMover" id="statement"
                          order="before line"/>

    <filePropertyPusher implementation="com.jetbrains.python.psi.impl.PythonLanguageLevelPusher"/>

    <elementDescriptionProvider implementation="com.jetbrains.python.findUsages.PyElementDescriptionProvider"/>
    <fileStructureGroupRuleProvider implementation="com.jetbrains.python.findUsages.PyFunctionGroupingRuleProvider" id="py-function"/>
    <usageTypeProvider implementation="com.jetbrains.python.findUsages.PyUsageTypeProvider"/>
    <importFilteringRule implementation="com.jetbrains.python.findUsages.PyImportFilteringRule"/>

    <languageInjector implementation="com.jetbrains.python.codeInsight.regexp.PythonRegexpInjector"/>
    <lang.parserDefinition language="PythonRegExp"
                           implementationClass="com.jetbrains.python.codeInsight.regexp.PythonRegexpParserDefinition"/>
    <lang.parserDefinition language="PythonVerboseRegExp"
                           implementationClass="com.jetbrains.python.codeInsight.regexp.PythonVerboseRegexpParserDefinition"/>
    <lang.syntaxHighlighterFactory key="PythonVerboseRegExp"
                                   implementationClass="com.jetbrains.python.codeInsight.regexp.PythonVerboseRegexpSyntaxHighlighterFactory"/>

    <applicationService serviceInterface="com.jetbrains.python.codeInsight.PyCodeInsightSettings"
                        serviceImplementation="com.jetbrains.python.codeInsight.PyCodeInsightSettings"/>
    <autoImportOptionsProvider instance="com.jetbrains.python.codeInsight.imports.PyAutoImportOptions"/>

    <defaultLiveTemplatesProvider implementation="com.jetbrains.python.codeInsight.PyDefaultLiveTemplatesProvider"/>

    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PyClassNameCompletionContributor"/>
    <weigher key="completion" implementationClass="com.jetbrains.python.codeInsight.completion.PythonCompletionWeigher" order="first"/>
    <completion.confidence language="Python" implementationClass="com.jetbrains.python.codeInsight.completion.PyCompletionConfidence"/>
    <typedHandler implementation="com.jetbrains.python.console.completion.PythonConsoleAutopopupBlockingHandler" id="pydevBlockAutoPopup"
                  order="first, before completionAutoPopup"/>

    <referencesSearch implementation="com.jetbrains.python.psi.search.PyInitReferenceSearchExecutor"/>
    <referencesSearch implementation="com.jetbrains.python.psi.search.PyKeywordArgumentSearchExecutor"/>
    <referencesSearch implementation="com.jetbrains.python.psi.search.PyStringReferenceSearch"/>
    <findUsagesHandlerFactory implementation="com.jetbrains.python.findUsages.PyFindUsagesHandlerFactory" id="Python"
                              order="last, before default"/>
    <readWriteAccessDetector implementation="com.jetbrains.python.findUsages.PyReadWriteAccessDetector"/>

    <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyVariableProcessor" order="last" id="pyvar"/>
    <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyFunctionProcessor" order="before pyvar"/>
    <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyClassProcessor" order="before pyvar"/>
    <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyFileProcessor" order="first"/>

    <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyContainingFileRenamerFactory"/>
    <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyInheritorRenameFactory"/>
    <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyParametersRenameFactory"/>

    <refactoring.moveHandler implementation="com.jetbrains.python.refactoring.move.PyMoveClassOrFunctionDelegate"/>

    <lang.importOptimizer language="Python" implementationClass="com.jetbrains.python.codeInsight.imports.PyImportOptimizer"/>

    <codeStyleSettingsProvider implementation="com.jetbrains.python.formatter.PyCodeStyleSettingsProvider"/>
    <langCodeStyleSettingsProvider implementation="com.jetbrains.python.formatter.PyLanguageCodeStyleSettingsProvider"/>

    <lang.elementManipulator forClass="com.jetbrains.python.psi.PyStringLiteralExpression"
                             implementationClass="com.jetbrains.python.psi.impl.PyStringLiteralExpressionManipulator"/>
    <lang.elementManipulator forClass="com.jetbrains.python.psi.PyKeywordArgument"
                             implementationClass="com.jetbrains.python.psi.impl.PyKeywordArgumentManipulator"/>

    <analyzeStacktraceFilter implementation="com.jetbrains.python.run.PythonTracebackFilter"/>

    <internalFileTemplate name="Python Script"/>
    <internalFileTemplate name="Python Unit Test"/>

    <moduleService serviceInterface="com.jetbrains.python.psi.resolve.PythonPathCache"
                   serviceImplementation="com.jetbrains.python.psi.resolve.PythonModulePathCache"/>

    <preserveIndentOnPaste fileType="Python"/>

    <problemFileHighlightFilter implementation="com.jetbrains.python.codeInsight.PyProblemFileHighlightFilter"/>

    <editorSmartKeysConfigurable instance="com.jetbrains.python.codeInsight.PySmartKeysOptions"/>
    <editorSmartKeysConfigurable instance="com.jetbrains.python.codeInsight.PySpecificSmartKeysOptions"/>

    <psi.referenceContributor implementation="com.jetbrains.python.codeInsight.PyStdReferenceContributor"/>

    <applicationService serviceInterface="com.jetbrains.python.documentation.PythonDocumentationMap"
                        serviceImplementation="com.jetbrains.python.documentation.PythonDocumentationMap"/>
    <applicationConfigurable instance="com.jetbrains.python.documentation.PythonDocumentationConfigurable"/>
    <projectConfigurable instance="com.jetbrains.python.configuration.PyIntegratedToolsConfigurable"/>
    <projectConfigurable instance="com.jetbrains.python.templateLanguages.TemplateLanguageConfigurable"/>
    <projectService serviceInterface="com.jetbrains.python.documentation.PyDocumentationSettings"
                    serviceImplementation="com.jetbrains.python.documentation.PyDocumentationSettings"/>
    <psi.referenceContributor implementation="com.jetbrains.python.documentation.DocStringReferenceContributor"/>
    <completion.contributor language="Python" implementationClass="com.jetbrains.python.documentation.DocStringTagCompletionContributor"/>

    <projectService serviceInterface="com.intellij.psi.search.ProjectScopeBuilder"
                    serviceImplementation="com.jetbrains.python.psi.search.PyProjectScopeBuilder"
                    overrides="true"/>

    <treeStructureProvider implementation="com.jetbrains.python.projectView.PyTreeStructureProvider"/>

    <project.converterProvider implementation="com.jetbrains.python.testing.converters.PythonTestConverterProvider"/>

    <!-- Cython -->
    <lang.parserDefinition language="Cython" implementationClass="com.jetbrains.cython.parser.CythonParserDefinition"/>
    <lang.syntaxHighlighterFactory key="Cython" implementationClass="com.jetbrains.cython.CythonSyntaxHighlighterFactory"/>
    <annotator language="Cython" implementationClass="com.jetbrains.cython.CythonBuiltinAnnotator"/>
    <completion.contributor language="Python" implementationClass="com.jetbrains.cython.CythonKeywordCompletionContributor"/>

    <coverageEngine implementation="com.jetbrains.python.coverage.PyCoverageEngine"/>
    <coverageRunner implementation="com.jetbrains.python.coverage.PyCoverageRunner"/>

    <projectService serviceInterface="com.jetbrains.python.coverage.PyCoverageAnnotator"
                    serviceImplementation="com.jetbrains.python.coverage.PyCoverageAnnotator"/>

    <!-- Django -->
    <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.django.annotator.ViewMethodLineMarkerProvider"/>
    <configurationType implementation="com.jetbrains.django.run.DjangoServerRunConfigurationType"/>
    <configurationType implementation="com.jetbrains.django.testRunner.DjangoTestsConfigurationType"/>
    <configurationProducer implementation="com.jetbrains.django.testRunner.DjangoTestsConfigurationProducer"/>

    <lang.substitutor language="XHTML" implementationClass="com.jetbrains.django.lang.template.DjangoTemplateLanguageSubstitutor"/>
    <lang.substitutor language="HTML" implementationClass="com.jetbrains.django.lang.template.DjangoTemplateLanguageSubstitutor"/><commit_msg>Python coverage settings moved to general settings (PY-4712).<commit_after><idea-plugin version="2">
  <!-- Components and extensions declared in this file work both in PyCharm and Python plugin. -->

  <resource-bundle>com.jetbrains.python.PyBundle</resource-bundle>

  <extensions defaultExtensionNs="com.intellij">
    <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
    <fileTypeFactory implementation="com.jetbrains.python.PythonFileTypeFactory"/>
    <lang.syntaxHighlighterFactory key="Python" implementationClass="com.jetbrains.python.highlighting.PySyntaxHighlighterFactory"/>
    <lang.braceMatcher language="Python" implementationClass="com.jetbrains.python.PyBraceMatcher"/>
    <lang.parserDefinition language="Python" implementationClass="com.jetbrains.python.PythonParserDefinition"/>
    <lang.commenter language="Python" implementationClass="com.jetbrains.python.PythonCommenter"/>
    <lang.foldingBuilder language="Python" implementationClass="com.jetbrains.python.PythonFoldingBuilder"/>
    <lang.foldingBuilder language="DjangoTemplate"
                         implementationClass="com.jetbrains.django.lang.template.editor.DjangoTemplateFoldingBuilder"/>
    <lang.findUsagesProvider language="Python" implementationClass="com.jetbrains.python.findUsages.PythonFindUsagesProvider"/>
    <lang.formatter language="Python" implementationClass="com.jetbrains.python.formatter.PythonFormattingModelBuilder"/>
    <lang.whiteSpaceFormattingStrategy language="Python"
                                       implementationClass="com.jetbrains.python.formatter.PyWhiteSpaceFormattingStrategy"/>
    <lang.namesValidator language="Python" implementationClass="com.jetbrains.python.refactoring.rename.PythonNamesValidator"/>
    <lang.surroundDescriptor language="Python"
                             implementationClass="com.jetbrains.python.refactoring.surround.PyStatementSurroundDescriptor"/>
    <lang.surroundDescriptor language="Python"
                             implementationClass="com.jetbrains.python.refactoring.surround.PyExpressionSurroundDescriptor"/>
    <lang.psiStructureViewFactory language="Python" implementationClass="com.jetbrains.python.structureView.PyStructureViewFactory"/>
    <lang.documentationProvider language="Python" implementationClass="com.jetbrains.python.documentation.PythonDocumentationProvider"/>
    <lang.documentationProvider language="Python" implementationClass="com.jetbrains.python.console.PydevDocumentationProvider"/>
    <lang.emacs language="Python" implementationClass="com.jetbrains.python.editor.PyEmacsHandler"/>
    <annotator language="Python" implementationClass="com.jetbrains.python.validation.PyAnnotatingVisitor"/>
    <annotator language="Python" implementationClass="com.jetbrains.python.validation.PyDumbAwareAnnotator"/>
    <backspaceHandlerDelegate implementation="com.jetbrains.python.editor.PythonBackspaceHandler"/>
    <quoteHandler fileType="Python" className="com.jetbrains.python.editor.PythonQuoteHandler"/>
    <enterHandlerDelegate implementation="com.jetbrains.python.editor.PythonEnterHandler"/>
    <enterHandlerDelegate implementation="com.jetbrains.python.editor.PyEnterBetweenBracketsHandler"/>
    <sdkType implementation="com.jetbrains.python.sdk.PythonSdkType"/>
    <gotoClassContributor implementation="com.jetbrains.python.PyGotoClassContributor"/>
    <gotoSymbolContributor implementation="com.jetbrains.python.PyGotoSymbolContributor"/>
    <codeInsight.parameterInfo language="Python" implementationClass="com.jetbrains.python.PyParameterInfoHandler"/>
    <colorSettingsPage implementation="com.jetbrains.python.highlighting.PythonColorsPage"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyWordSelectionHandler"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyLiteralSelectionHandler"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyStatementSelectionHandler"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyListSelectionHandler"/>
    <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyCommaSelectionHandler"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PyKeywordCompletionContributor"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PySpecialMethodNamesCompletionContributor"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PySuperMethodCompletionContributor"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PySuperClassAttributesCompletionContributor"/>
    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PyDictKeyNamesCompletionContributor"/>
    <lang.tokenSeparatorGenerator language="Python" implementationClass="com.jetbrains.python.PyTokenSeparatorGenerator"/>
    <lang.elementManipulator forClass="com.jetbrains.python.psi.PyReferenceExpression"
                             implementationClass="com.jetbrains.python.psi.impl.PyReferenceExpressionManipulator"/>

    <projectService serviceInterface="com.jetbrains.python.psi.PyElementGenerator"
                    serviceImplementation="com.jetbrains.python.psi.impl.PyElementGeneratorImpl"/>

    <typedHandler implementation="com.jetbrains.python.codeInsight.KeywordTypedHandler" id="pyCommaAfterKwd"/>
    <typedHandler implementation="com.jetbrains.django.lang.template.editor.DjangoBracesInterpolationTypedHandler"
                  id="pyDjangoBraceInterpolation"/>
    <typedHandler implementation="com.jetbrains.python.codeInsight.PyMethodNameTypedHandler" id="pyMethodNameTypedHandler"/>
    <typedHandler implementation="com.jetbrains.python.editor.PythonSpaceHandler"/>

    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassNameIndex"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassNameIndexInsensitive"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyFunctionNameIndex"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PySuperClassIndex"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyVariableNameIndex"/>
    <stubIndex implementation="com.jetbrains.python.psi.stubs.PyInstanceAttributeIndex"/>

    <bundledColorSchemesProvider implementation="com.jetbrains.python.PythonBundledColorSchemeProvider"/>

    <declarationRangeHandler key="com.jetbrains.python.psi.PyClass"
                             implementationClass="com.jetbrains.python.codeInsight.PyDeclarationRangeHandler"/>

    <declarationRangeHandler key="com.jetbrains.python.psi.PyFunction"
                             implementationClass="com.jetbrains.python.codeInsight.PyDeclarationRangeHandler"/>

    <!-- Run/Debug -->
    <applicationService serviceInterface="com.jetbrains.python.run.PythonRunConfigurationExtensionsManager"
                        serviceImplementation="com.jetbrains.python.run.PythonRunConfigurationExtensionsManager"/>
    <configurationType implementation="com.jetbrains.python.run.PythonConfigurationType"/>
    <programRunner implementation="com.jetbrains.python.run.PythonRunner"/>
    <programRunner implementation="com.jetbrains.python.debugger.PyDebugRunner"/>
    <programRunner implementation="com.jetbrains.python.debugger.remote.PyRemoteDebugRunner"/>
    <programRunner implementation="com.jetbrains.python.coverage.PythonCoverageRunner"/>
    <configurationProducer implementation="com.jetbrains.python.run.PythonRunConfigurationProducer"/>
    <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyLineBreakpointType"/>
    <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.DjangoTemplateLineBreakpointType"/>
    <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyExceptionBreakpointType"/>
    <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.django.DjangoExceptionBreakpointType"/>

    <configurationType implementation="com.jetbrains.python.testing.PythonTestConfigurationType"/>

    <configurationProducer implementation="com.jetbrains.python.testing.unittest.PythonUnitTestConfigurationProducer"/>
    <testSrcLocator implementation="com.jetbrains.python.testing.PythonUnitTestTestIdUrlProvider"/>

    <configurationProducer implementation="com.jetbrains.python.testing.pytest.PyTestConfigurationProducer"/>
    <configurationProducer implementation="com.jetbrains.python.testing.doctest.PythonDocTestConfigurationProducer"/>
    <configurationProducer implementation="com.jetbrains.python.testing.nosetest.PythonNoseTestConfigurationProducer"/>
    <configurationProducer implementation="com.jetbrains.python.testing.attest.PythonAtTestConfigurationProducer"/>

    <referenceImporter implementation="com.jetbrains.python.codeInsight.imports.PythonReferenceImporter"/>
    <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.PyLineMarkerProvider"/>
    <definitionsSearch implementation="com.jetbrains.python.psi.search.PyDefinitionsSearch"/>
    <gotoTargetRendererProvider implementation="com.jetbrains.python.codeInsight.PyGotoTargetRendererProvider"/>

    <typeHierarchyProvider language="Python" implementationClass="com.jetbrains.python.hierarchy.PyTypeHierachyProvider"/>
    <highlightUsagesHandlerFactory implementation="com.jetbrains.python.codeInsight.highlighting.PyHighlightExitPointsHandlerFactory"/>

    <configurationType implementation="com.jetbrains.python.debugger.remote.PyRemoteDebugConfigurationType"/>
    <fileEditorProvider implementation="com.jetbrains.python.debugger.remote.vfs.PyRemoteDebugEditorProvider"/>

    <joinLinesHandler implementation="com.jetbrains.python.editor.PyJoinLinesHandler"/>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ImportToImportFromIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ImportFromToImportIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ImportToggleAliasIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PySplitIfIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyNegateComparisonIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyStringConcatenationToFormatIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ConvertFormatOperatorToMethodIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyFlipComparisonIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyDemorganIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ReplaceListComprehensionWithForIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyJoinIfIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyDictConstructorToLiteralFormIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyDictLiteralFormToConstructorIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyQuotedStringIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyConvertLambdaToFunctionIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.ConvertVariadicParamIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyConvertTripleQuotedStringIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyTransformConditionalExpressionIntention</className>
      <category>Python</category>
    </intentionAction>

    <intentionAction>
      <className>com.jetbrains.python.codeInsight.intentions.PyDocStubIntention</className>
      <category>Python</category>
    </intentionAction>

    <testFinder implementation="com.jetbrains.python.codeInsight.testIntegration.PyTestFinder"/>
    <testCreator language="Python" implementationClass="com.jetbrains.python.codeInsight.testIntegration.PyTestCreator"/>
    <testGenerator implementation="com.jetbrains.python.codeInsight.testIntegration.PyTestGenerator"/>

    <stubElementTypeHolder class="com.jetbrains.python.PyElementTypes"/>
    <stubElementTypeHolder class="com.jetbrains.cython.psi.elementTypes.CythonElementTypes"/>

    <localInspection language="Python" shortName="PyArgumentListInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.call.arguments" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyArgumentListInspection"/>
    <localInspection language="Python" shortName="PyRedeclarationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.redeclaration" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRedeclarationInspection"/>
    <localInspection language="Python" shortName="PyUnresolvedReferencesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unresolved.refs" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnresolvedReferencesInspection"/>
    <localInspection language="Python" shortName="PyMethodParametersInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.problematic.first.parameter" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodParametersInspection"/>
    <localInspection language="Python" shortName="PyUnreachableCodeInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unreachable.code" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnreachableCodeInspection"/>
    <localInspection language="Python" shortName="PyMethodFirstArgAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.first.arg.assign" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodFirstArgAssignmentInspection"/>
    <localInspection language="Python" shortName="PyStringFormatInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.str.format" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStringFormatInspection"/>
    <localInspection language="Python" shortName="PyMethodOverridingInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.method.over" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodOverridingInspection"/>
    <localInspection language="Python" shortName="PyInitNewSignatureInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.new.init.signature" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInitNewSignatureInspection"/>
    <localInspection language="Python" shortName="PyTrailingSemicolonInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.trailing.semicolon" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTrailingSemicolonInspection"/>
    <localInspection language="Python" shortName="PyReturnFromInitInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.init.return" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyReturnFromInitInspection"/>
    <localInspection language="Python" shortName="PyUnusedLocalInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unused" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnusedLocalInspection"/>
    <localInspection language="Python" shortName="PyDictCreationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.dict.creation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDictCreationInspection"/>
    <localInspection language="Python" shortName="PyDictDuplicateKeysInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.duplicate.keys" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDictDuplicateKeysInspection"/>
    <localInspection language="Python" shortName="PyExceptClausesOrderInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.bad.except.clauses.order" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyExceptClausesOrderInspection"/>
    <localInspection language="Python" shortName="PyTupleAssignmentBalanceInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTupleAssignmentBalanceInspection"/>
    <localInspection language="Python" shortName="PyClassicStyleClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.classic.class.usage" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyClassicStyleClassInspection"/>
    <localInspection language="Python" shortName="PyExceptionInheritInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.exception.not.inherit" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyExceptionInheritInspection"/>
    <localInspection language="Python" shortName="PyDefaultArgumentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.default.argument" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDefaultArgumentInspection"/>
    <localInspection language="Python" shortName="PyRaisingNewStyleClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.raising.new.style.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRaisingNewStyleClassInspection"/>
    <localInspection language="Python" shortName="PyDocstringInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.docstring" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDocstringInspection"/>
    <localInspection language="Python" shortName="PyUnboundLocalVariableInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unbound" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnboundLocalVariableInspection"/>
    <localInspection language="Python" shortName="PyStatementEffectInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.statement.effect" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStatementEffectInspection"/>
    <localInspection language="Python" shortName="PySimplifyBooleanCheckInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.check.can.be.simplified" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySimplifyBooleanCheckInspection"/>
    <localInspection language="Python" shortName="PyFromFutureImportInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.from.future.import" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyFromFutureImportInspection"/>
    <localInspection language="Python" shortName="PyComparisonWithNoneInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.comparison.with.none" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyComparisonWithNoneInspection"/>
    <localInspection language="Python" shortName="PyStringExceptionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.raising.string.exception" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStringExceptionInspection"/>
    <localInspection language="Python" shortName="PySuperArgumentsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.wrong.super.arguments" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySuperArgumentsInspection"/>
    <localInspection language="Python" shortName="PyByteLiteralInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.byte.literal" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyByteLiteralInspection"/>
    <localInspection language="Python" shortName="PyTupleItemAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.tuple.item.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTupleItemAssignmentInspection"/>
    <localInspection language="Python" shortName="PyCallingNonCallableInspection" displayName="Trying to call a non-callable object" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyCallingNonCallableInspection"/>
    <localInspection language="Python" shortName="PyPropertyAccessInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.property.access" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPropertyAccessInspection"/>
    <localInspection language="Python" shortName="PyPropertyDefinitionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.property.definition" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPropertyDefinitionInspection"/>
    <localInspection language="Python" shortName="PyInconsistentIndentationInspection" displayName="Inconsistent indentation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInconsistentIndentationInspection"/>
    <localInspection language="Python" shortName="PyNestedDecoratorsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.nested.decorators" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyNestedDecoratorsInspection"/>
    <localInspection language="Python" shortName="PyCallByClassInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.different.class.call" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyCallByClassInspection"/>
    <localInspection language="Python" shortName="PyBroadExceptionInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.too.broad.exception.clauses" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyBroadExceptionInspection"/>
    <localInspection language="Python" shortName="PyRedundantParenthesesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.redundant.parentheses" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRedundantParenthesesInspection"/>
    <localInspection language="Python" shortName="PyAugmentAssignmentInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.augment.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyAugmentAssignmentInspection"/>
    <localInspection language="Python" shortName="PyChainedComparisonsInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.chained.comparisons" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyChainedComparisonsInspection"/>
    <localInspection language="Python" shortName="PyOldStyleClassesInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.oldstyle.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyOldStyleClassesInspection"/>
    <localInspection language="Python" shortName="PyCompatibilityInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.compatibility" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyCompatibilityInspection"/>
    <localInspection language="Python" shortName="PyListCreationInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.list.creation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyListCreationInspection"/>
    <localInspection language="Python" shortName="PyUnnecessaryBackslashInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unnecessary.backslash" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnnecessaryBackslashInspection"/>
    <localInspection language="Python" shortName="PySingleQuotedDocstringInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.single.quoted.docstring" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySingleQuotedDocstringInspection"/>
    <localInspection language="Python" shortName="PyMissingConstructorInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.missing.super.constructor" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMissingConstructorInspection"/>
    <localInspection language="Python" shortName="PyArgumentEqualDefaultInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.argument.equal.default" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyArgumentEqualDefaultInspection"/>
    <localInspection language="Python" shortName="PySetFunctionToLiteralInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.set.function.to.literal" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySetFunctionToLiteralInspection"/>
    <localInspection language="Python" shortName="PyDecoratorInspection" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.decorator.outside.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDecoratorInspection"/>
    <localInspection language="Python" shortName="PyTypeCheckerInspection" displayName="Type checker" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTypeCheckerInspection"/>
    <localInspection language="Python" shortName="PyDeprecationInspection" displayName="Deprecated function, class or module" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDeprecationInspection"/>
    
    <liveTemplateContext implementation="com.jetbrains.python.codeInsight.PythonTemplateContextType"/>
    <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.CollectionElementNameMacro"/>

    <codeInsight.overrideMethod language="Python" implementationClass="com.jetbrains.python.codeInsight.override.PyOverrideMethodsHandler"/>
    <lang.refactoringSupport language="Python" implementationClass="com.jetbrains.python.refactoring.RefactoringProvider"/>
    <lang.refactoringSupport.classMembersRefactoringSupport language="Python"
                                                            implementationClass="com.jetbrains.python.refactoring.classes.PyClassMembersRefactoringSupport"/>
    <inlineActionHandler implementation="com.jetbrains.python.refactoring.inline.PyInlineLocalHandler"/>
    <codeInsight.gotoSuper language="Python" implementationClass="com.jetbrains.python.codeInsight.PyGotoSuperHandler"/>
    <gotoDeclarationHandler implementation="com.jetbrains.python.codeInsight.PyBreakContinueGotoProvider" order="FIRST"/>
    <lang.smartEnterProcessor language="Python"
                              implementationClass="com.jetbrains.python.codeInsight.editorActions.smartEnter.PySmartEnterProcessor"/>
    <statementUpDownMover implementation="com.jetbrains.python.codeInsight.editorActions.moveUpDown.StatementMover" id="statement"
                          order="before line"/>

    <filePropertyPusher implementation="com.jetbrains.python.psi.impl.PythonLanguageLevelPusher"/>

    <elementDescriptionProvider implementation="com.jetbrains.python.findUsages.PyElementDescriptionProvider"/>
    <fileStructureGroupRuleProvider implementation="com.jetbrains.python.findUsages.PyFunctionGroupingRuleProvider" id="py-function"/>
    <usageTypeProvider implementation="com.jetbrains.python.findUsages.PyUsageTypeProvider"/>
    <importFilteringRule implementation="com.jetbrains.python.findUsages.PyImportFilteringRule"/>

    <languageInjector implementation="com.jetbrains.python.codeInsight.regexp.PythonRegexpInjector"/>
    <lang.parserDefinition language="PythonRegExp"
                           implementationClass="com.jetbrains.python.codeInsight.regexp.PythonRegexpParserDefinition"/>
    <lang.parserDefinition language="PythonVerboseRegExp"
                           implementationClass="com.jetbrains.python.codeInsight.regexp.PythonVerboseRegexpParserDefinition"/>
    <lang.syntaxHighlighterFactory key="PythonVerboseRegExp"
                                   implementationClass="com.jetbrains.python.codeInsight.regexp.PythonVerboseRegexpSyntaxHighlighterFactory"/>

    <applicationService serviceInterface="com.jetbrains.python.codeInsight.PyCodeInsightSettings"
                        serviceImplementation="com.jetbrains.python.codeInsight.PyCodeInsightSettings"/>
    <autoImportOptionsProvider instance="com.jetbrains.python.codeInsight.imports.PyAutoImportOptions"/>

    <defaultLiveTemplatesProvider implementation="com.jetbrains.python.codeInsight.PyDefaultLiveTemplatesProvider"/>

    <completion.contributor language="Python"
                            implementationClass="com.jetbrains.python.codeInsight.completion.PyClassNameCompletionContributor"/>
    <weigher key="completion" implementationClass="com.jetbrains.python.codeInsight.completion.PythonCompletionWeigher" order="first"/>
    <completion.confidence language="Python" implementationClass="com.jetbrains.python.codeInsight.completion.PyCompletionConfidence"/>
    <typedHandler implementation="com.jetbrains.python.console.completion.PythonConsoleAutopopupBlockingHandler" id="pydevBlockAutoPopup"
                  order="first, before completionAutoPopup"/>

    <referencesSearch implementation="com.jetbrains.python.psi.search.PyInitReferenceSearchExecutor"/>
    <referencesSearch implementation="com.jetbrains.python.psi.search.PyKeywordArgumentSearchExecutor"/>
    <referencesSearch implementation="com.jetbrains.python.psi.search.PyStringReferenceSearch"/>
    <findUsagesHandlerFactory implementation="com.jetbrains.python.findUsages.PyFindUsagesHandlerFactory" id="Python"
                              order="last, before default"/>
    <readWriteAccessDetector implementation="com.jetbrains.python.findUsages.PyReadWriteAccessDetector"/>

    <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyVariableProcessor" order="last" id="pyvar"/>
    <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyFunctionProcessor" order="before pyvar"/>
    <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyClassProcessor" order="before pyvar"/>
    <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyFileProcessor" order="first"/>

    <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyContainingFileRenamerFactory"/>
    <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyInheritorRenameFactory"/>
    <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyParametersRenameFactory"/>

    <refactoring.moveHandler implementation="com.jetbrains.python.refactoring.move.PyMoveClassOrFunctionDelegate"/>

    <lang.importOptimizer language="Python" implementationClass="com.jetbrains.python.codeInsight.imports.PyImportOptimizer"/>

    <codeStyleSettingsProvider implementation="com.jetbrains.python.formatter.PyCodeStyleSettingsProvider"/>
    <langCodeStyleSettingsProvider implementation="com.jetbrains.python.formatter.PyLanguageCodeStyleSettingsProvider"/>

    <lang.elementManipulator forClass="com.jetbrains.python.psi.PyStringLiteralExpression"
                             implementationClass="com.jetbrains.python.psi.impl.PyStringLiteralExpressionManipulator"/>
    <lang.elementManipulator forClass="com.jetbrains.python.psi.PyKeywordArgument"
                             implementationClass="com.jetbrains.python.psi.impl.PyKeywordArgumentManipulator"/>

    <analyzeStacktraceFilter implementation="com.jetbrains.python.run.PythonTracebackFilter"/>

    <internalFileTemplate name="Python Script"/>
    <internalFileTemplate name="Python Unit Test"/>

    <moduleService serviceInterface="com.jetbrains.python.psi.resolve.PythonPathCache"
                   serviceImplementation="com.jetbrains.python.psi.resolve.PythonModulePathCache"/>

    <preserveIndentOnPaste fileType="Python"/>

    <problemFileHighlightFilter implementation="com.jetbrains.python.codeInsight.PyProblemFileHighlightFilter"/>

    <editorSmartKeysConfigurable instance="com.jetbrains.python.codeInsight.PySmartKeysOptions"/>
    <editorSmartKeysConfigurable instance="com.jetbrains.python.codeInsight.PySpecificSmartKeysOptions"/>

    <psi.referenceContributor implementation="com.jetbrains.python.codeInsight.PyStdReferenceContributor"/>

    <applicationService serviceInterface="com.jetbrains.python.documentation.PythonDocumentationMap"
                        serviceImplementation="com.jetbrains.python.documentation.PythonDocumentationMap"/>
    <applicationConfigurable instance="com.jetbrains.python.documentation.PythonDocumentationConfigurable"/>
    <projectConfigurable instance="com.jetbrains.python.configuration.PyIntegratedToolsConfigurable"/>
    <projectConfigurable instance="com.jetbrains.python.templateLanguages.TemplateLanguageConfigurable"/>
    <projectService serviceInterface="com.jetbrains.python.documentation.PyDocumentationSettings"
                    serviceImplementation="com.jetbrains.python.documentation.PyDocumentationSettings"/>
    <psi.referenceContributor implementation="com.jetbrains.python.documentation.DocStringReferenceContributor"/>
    <completion.contributor language="Python" implementationClass="com.jetbrains.python.documentation.DocStringTagCompletionContributor"/>

    <projectService serviceInterface="com.intellij.psi.search.ProjectScopeBuilder"
                    serviceImplementation="com.jetbrains.python.psi.search.PyProjectScopeBuilder"
                    overrides="true"/>

    <treeStructureProvider implementation="com.jetbrains.python.projectView.PyTreeStructureProvider"/>

    <project.converterProvider implementation="com.jetbrains.python.testing.converters.PythonTestConverterProvider"/>

    <!-- Cython -->
    <lang.parserDefinition language="Cython" implementationClass="com.jetbrains.cython.parser.CythonParserDefinition"/>
    <lang.syntaxHighlighterFactory key="Cython" implementationClass="com.jetbrains.cython.CythonSyntaxHighlighterFactory"/>
    <annotator language="Cython" implementationClass="com.jetbrains.cython.CythonBuiltinAnnotator"/>
    <completion.contributor language="Python" implementationClass="com.jetbrains.cython.CythonKeywordCompletionContributor"/>

    <coverageEngine implementation="com.jetbrains.python.coverage.PyCoverageEngine"/>
    <coverageRunner implementation="com.jetbrains.python.coverage.PyCoverageRunner"/>
    <coverageOptions implementation="com.jetbrains.python.coverage.PyCoverageOptions"/>
    <projectService serviceImplementation="com.jetbrains.python.coverage.PyCoverageOptionsProvider"/>

    <projectService serviceInterface="com.jetbrains.python.coverage.PyCoverageAnnotator"
                    serviceImplementation="com.jetbrains.python.coverage.PyCoverageAnnotator"/>

    <!-- Django -->
    <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.django.annotator.ViewMethodLineMarkerProvider"/>
    <configurationType implementation="com.jetbrains.django.run.DjangoServerRunConfigurationType"/>
    <configurationType implementation="com.jetbrains.django.testRunner.DjangoTestsConfigurationType"/>
    <configurationProducer implementation="com.jetbrains.django.testRunner.DjangoTestsConfigurationProducer"/>

    <lang.substitutor language="XHTML" implementationClass="com.jetbrains.django.lang.template.DjangoTemplateLanguageSubstitutor"/>
    <lang.substitutor language="HTML" implementationClass="com.jetbrains.django.lang.template.DjangoTemplateLanguageSubstitutor"/>
{'fraction_non_alphanumeric': 0.11178596526453168, 'fraction_numerical': 7.529364521634374e-05, 'mean_word_length': 6.821849234393404, 'pattern_counts': {'":': 0, '<': 677, '<?xml version=': 0, '>': 677, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5441308', 'n_tokens_mistral': 22364, 'n_tokens_neox': 21036, 'n_words': 1976}