content: [build-system]
  requires = ["wheel", "setuptools"]
  build-backend = "setuptools.build_meta"
  
  
  [tool.black]
  exclude = '''
  ( __pycache__
  | ^/.tox
  | ^/versioneer.py
  | ^/src/debugpy/_vendored
  | ^/src/debugpy/_version.py
  )
  '''
  
  [tool.pyright]
  pythonVersion = "3.8"
  include = ["src/**", "tests/**" ]
  extraPaths = ["src/debugpy/_vendored/pydevd", "src/debugpy/_vendored/pydevd/pydevd_attach_to_process"]
  ignore = ["src/debugpy/_vendored/pydevd", "src/debugpy/_version.py"]
  executionEnvironments = [
    { root = "src" }, { root = "." }
  ]
  
  [tool.ruff]
  # Enable the pycodestyle (`E`) and Pyflakes (`F`) rules by default.
  # Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
  # McCabe complexity (`C901`) by default.
  select = ["E", "F"]
  ignore = [
      "E203", "E221", "E222", "E226", "E261", "E262", "E265", "E266",
      "E401", "E402",
      "E501",
      "E722", "E731" 
  ]
  
  # Allow autofix for all enabled rules (when `--fix`) is provided.
  fixable = ["ALL"]
  unfixable = []
  
  # Exclude a variety of commonly ignored directories.
  exclude = [
      ".bzr",
      ".direnv",
      ".eggs",
      ".git",
      ".git-rewrite",
      ".hg",
      ".mypy_cache",
      ".nox",
      ".pants.d",
      ".pytype",
      ".ruff_cache",
      ".svn",
      ".tox",
      ".venv",
      "__pypackages__",
      "_build",
      "buck-out",
      "build",
      "dist",
      "node_modules",
      "venv",
      "versioneer.py",
      "src/debugpy/_vendored/pydevd"
  ]
  
  # Same as Black.
  line-length = 88
  
  # Allow unused variables when underscore-prefixed.
  dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
  
  # Assume Python 3.8
  target-version = "py38"
  
  [tool.ruff.per-file-ignores]
  "tests/debugpy/test_breakpoints.py" = ["F841"]
  "tests/debugpy/test_output.py" = ["F841"]