# Supporting SCM providers

The SonarScanners use information from the project’s SCM provider, if available, to:

* Assign a new issue to the person who introduced it. The last committer on the related line of code is considered to be the author of the issue.
* Estimate the coverage on new code, including added and changed code since in your new code.
* Display the most recent commit on each line in the code viewer.

<figure><img src="https://3560343708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4FzELVjsPO4ijRo3jtBV%2Fuploads%2Fgit-blob-b21a8213ae1f88d313c5db10c4e44481da3107a5%2Fexecutable-lines-python-exception.png?alt=media" alt="No cover example in Python"><figcaption><p>Exempt a block of Python code from coverage</p></figcaption></figure>

Exempt a block of Python code from coverage

The only required SCM command is "blame", which gets the last committer of each line for a given file. This command is executed by a SonarQube Server plugin through the extension point `org.sonar.api.batch.scm.ScmProvider`. See the embedded [scm-integration](https://docs.sonarsource.com/sonarqube-server/2025.1/analyzing-source-code/scm-integration "mention") documentation for more details.
