Browse Source

Changed linting tools to "ruff"

main
Holger Frey 2 years ago
parent
commit
07c5dfd8e7
  1. 25
      .pre-commit-config.yaml
  2. 5
      Makefile
  3. 59
      pyproject.toml

25
.pre-commit-config.yaml

@ -11,33 +11,18 @@ repos: @@ -11,33 +11,18 @@ repos:
- id: detect-private-key
- repo: local
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
name: black
name: Auto formatting code with "black"
entry: black src tests
language: system
pass_filenames: false
- id: flake8
name: flake8 project
entry: flake8 src
language: system
pass_filenames: false
- id: flake8
name: flake8 tests
entry: flake8 --ignore S101 tests
- id: ruff
name: Linting code with "ruff"
entry: ruff src tests
language: system
pass_filenames: false
- id: pytest
name: pytest
entry: pytest tests
pass_filenames: false
language: system
pass_filenames: false

5
Makefile

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

59
pyproject.toml

@ -46,18 +46,25 @@ test = [ @@ -46,18 +46,25 @@ test = [
]
dev = [
"black",
"flake8",
"flake8-comprehensions",
"flake8-bandit",
"isort >= 5.0.0",
"keyring",
"pre-commit",
"ruff",
]
docs = [
"mkdocs",
"mkdocstrings[python]",
]
[tool.pytest.ini_options]
markers = [
"functional: marks tests as functional (deselect with '-m \"not functional\"')",
]
addopts = [
"--strict-markers",
]
[tool.black]
line-length = 79
target-version = ['py39', 'py310']
@ -72,16 +79,38 @@ extend-exclude = ''' @@ -72,16 +79,38 @@ extend-exclude = '''
^/.dist
'''
[tool.isort]
line_length=79
multi_line_output=3
length_sort="True"
include_trailing_comma="True"
[tool.pytest.ini_options]
markers = [
"functional: marks tests as functional (deselect with '-m \"not functional\"')",
]
addopts = [
"--strict-markers",
[tool.ruff]
select = ["ALL"]
ignore = [
# ignored for now, should be activated in the future
# docstrings
"D",
# flake8-annotations
"ANN",
# flake8-type-checking
"TCH",
# ignored, "black" will handle this
# flake8-commas
"COM",
# ignored, due to Windows / WSL2 setup
# 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