Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ruff section to pyproject.toml #1390

Merged
merged 3 commits into from Sep 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 1 addition & 5 deletions azure-pipelines/pipelines.yaml
Expand Up @@ -38,13 +38,9 @@ jobs:
# See https://github.com/astral-sh/ruff and https://beta.ruff.rs/docs/
- script: "python3 -m pip install -U ruff"
displayName: "Install ruff"

# We just switched to a new linter and there are a ton of errors. We need time to go through them, but we don't want the block the build.
# Therefore, we use continueOnError to generate a warning while there are linter errors. The build will still run.
# To force the step to return zero even with linter errors, add "--exit-zero" after the "check" in the command line

- script: "python3 -m ruff check --format=junit --output-file=$(Build.ArtifactStagingDirectory)/lint-ruff.xml ."
displayName: "Run ruff"
continueOnError: "true"

- task: "PublishTestResults@2"
displayName: "Publish linting results"
Expand Down
52 changes: 52 additions & 0 deletions pyproject.toml
Expand Up @@ -22,3 +22,55 @@ 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"
]
per-file-ignores = {}

# 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"
4 changes: 2 additions & 2 deletions tests/debugpy/test_threads.py
Expand Up @@ -19,7 +19,7 @@ def code_to_debug():
import sys

debuggee.setup()
stop = False
stop = False # noqa: F841

def worker(tid, offset):
i = 0
Expand All @@ -35,7 +35,7 @@ def worker(tid, offset):
threads.append(thread)
thread.start()
print("check here") # @bp
stop = True
stop = True # noqa: F841

with debug.Session() as session:
with run(session, target(code_to_debug, args=[str(count)])):
Expand Down