Configuration - .deepsource.toml

This section covers configurations specific to the python analyzer. Please make sure to read the general configuration guide first.

name

  • Type: String
  • Presence: mandatory
  • Description: Shortcode of the analyzer.
  • Example:
name = "python"

🚧

Note

By default, the following are automatically detected and scanned for
dependencies, if found in the repository's root:

  • Pipfile
  • Pipfile.lock
  • poetry.lock
  • pyproject.toml (if containing a [tool.poetry] or [tool.flit] section)
  • requirements.txt
  • setup.py

If your package manager produces a lock file, specify both the requirements file and the lock file here.

meta

  • Type: Table
  • Presence: optional
  • Description: Any supported metadata to pass to the analyzer.
  • Example:
[analyzers.meta]
  runtime_version = "3.x.x"
  max_line_length = 88
  skip_doc_coverage = ["module", "magic", "init"]

runtime_version

  • Type: String
  • Presence: optional
  • Description: Runtime version of your language in semver.
  • Available Values: "2.x.x", "3.x.x"
  • Default Value: "3.x.x"
  • Example:
runtime_version = "3.x.x"

max_line_length

  • Type: Integer
  • Presence: optional
  • Description: Maximum allowed line length (including documentation).
  • Available Value: Any integer value greater than or equal to 79
  • Default Value:88
  • Example:
max_line_length = 88

skip_doc_coverage

  • Type: Array

  • Presence: optional

  • Description: Specify which artifacts to skip when calculating documentation coverage.

  • Available Values: module, magic, init and class

    • module - Ignore module docstrings
    • magic - Ignore docstrings of magic methods (except "init")
    • init - Ignore docstrings of "init" methods
    • class - Ignore docstrings of class definitions
    • nonpublic - Ignore docstrings for non-public classes and methods
  • Default Value: ["module", "magic", "init"]

  • Example:

skip_doc_coverage = ["module", "magic", "init"]

type_checker

  • Type: String
  • Presence: optional
  • Description: Activates the type checking analyzer. Please note: This will only raise type annotation issues.
  • Available Value: "mypy"
  • Default Value: None
  • Example:
type_checker = "mypy"

additional_builtins

  • Type: Array
  • Presence: optional
  • Description: Additional built-ins added by the user or third-party modules.
  • Available Value: An array with additional built-in names.
  • Default Value: None
  • Example:
additional_builtins = ["_", "pretty_output"]

Sample Config

version = 1

test_patterns = [
  "tests/**",
  "test_*.py"
]

exclude_patterns = [
  "migrations/**",
  "**/examples/**"
]

[[analyzers]]
name = "python"
enabled = true
dependency_file_paths = ["requirements/development.txt"]

  [analyzers.meta]
  runtime_version = "3.x.x"
  type_checker = "mypy"
  max_line_length = 88
  skip_doc_coverage = ["module", "magic", "init"]
  additional_builtins = ["_", "pretty_output"]

What’s Next