Browse Source

changing linter tooling to "ruff"

master
Holger Frey 2 years ago
parent
commit
b2dfbf6d7a
  1. 27
      .pre-commit-config.yaml
  2. 5
      Makefile
  3. 59
      pyproject.toml

27
.pre-commit-config.yaml

@ -11,33 +11,18 @@ repos:
- id: detect-private-key - id: detect-private-key
- repo: local - repo: local
hooks: hooks:
- id: isort-project
name: isort project
entry: isort -rc src
language: system
pass_filenames: false
- id: isort-test
name: isort test
entry: isort -rc tests
language: system
pass_filenames: false
- id: black - id: black
name: black name: Autoformatting code with "black"
entry: black src tests entry: black src tests
language: system language: system
pass_filenames: false pass_filenames: false
- id: flake8 - id: ruff
name: flake8 project name: Linting code with "ruff"
entry: flake8 --ignore E231,W503 src entry: ruff src tests
language: system
pass_filenames: false
- id: flake8
name: flake8 test
entry: flake8 --ignore S101,W503 tests
language: system language: system
pass_filenames: false pass_filenames: false
- id: pytest - id: pytest
name: pytest name: Testing the project with "pytest"
entry: pytest tests entry: pytest tests
pass_filenames: false
language: system language: system
pass_filenames: false

5
Makefile

@ -54,11 +54,8 @@ clean-test: ## remove test and coverage artifacts
rm -fr htmlcov/ rm -fr htmlcov/
lint: ## reformat with black and check style with flake8 lint: ## reformat with black and check style with flake8
isort src
isort tests
black src tests black src tests
flake8 --ignore E231,W503,E402 src ruff src tests
flake8 --ignore S101,W503 tests
test: lint ## run tests quickly, stop on first error test: lint ## run tests quickly, stop on first error
pytest tests -x -l --last-failed --disable-warnings -m "not functional" pytest tests -x -l --last-failed --disable-warnings -m "not functional"

59
pyproject.toml

@ -48,18 +48,25 @@ test = [
] ]
dev = [ dev = [
"black", "black",
"flake8",
"flake8-comprehensions",
"flake8-bandit",
"isort >= 5.0.0",
"keyring", "keyring",
"pre-commit", "pre-commit",
"ruff",
] ]
docs = [ docs = [
"mkdocs", "mkdocs",
"mkdocstrings[python]", "mkdocstrings[python]",
] ]
[tool.pytest.ini_options]
markers = [
"functional: marks tests as functional (deselect with '-m \"not functional\"')",
]
addopts = [
"--strict-markers",
]
[tool.black] [tool.black]
line-length = 79 line-length = 79
target-version = ['py39', 'py310'] target-version = ['py39', 'py310']
@ -74,16 +81,38 @@ extend-exclude = '''
^/.dist ^/.dist
''' '''
[tool.isort] [tool.ruff]
line_length=79 # see https://github.com/charliermarsh/ruff
multi_line_output=3 select = ["ALL"]
length_sort="True" ignore = [
include_trailing_comma="True" # ignored for now, should be activated in the future
# docstrings
"D",
# flake8-annotations
"ANN",
# flake8-type-checking
"TCH",
[tool.pytest.ini_options] # ignored, "black" will handle this
markers = [ # flake8-commas
"functional: marks tests as functional (deselect with '-m \"not functional\"')", "COM",
]
addopts = [ # ignored, due to Windows / WSL2 setup
"--strict-markers", # flake8-executable
"EXE",
# project specific ignores
# flake8-import-conventions
"ICN",
] ]
fixable = ["I"]
fix = true
line-length=79
target-version = "py38"
[tool.ruff.per-file-ignores]
# see https://github.com/charliermarsh/ruff
"tests/*" = ["FBT003", "INP001", "PLR2004", "S101"]
[tool.ruff.pydocstyle]
convention = "pep257" # Accepts: "google", "numpy", or "pep257".
Loading…
Cancel
Save