From 65cd0597317e416b74ae21ae25f6ce1259ac24f5 Mon Sep 17 00:00:00 2001 From: woutdenolf Date: Wed, 29 Jul 2026 08:32:30 +0200 Subject: [PATCH] convert to ruff --- .flake8 | 4 ---- .github/workflows/test.yml | 5 +++++ .gitignore | 1 - pyproject.toml | 25 ++++++++++++++++++++----- scripts/mapreduce_workflow.py | 13 ++++++------- src/ewoksppf/engine.py | 1 - 6 files changed, 31 insertions(+), 18 deletions(-) delete mode 100644 .flake8 diff --git a/.flake8 b/.flake8 deleted file mode 100644 index 7e1499d..0000000 --- a/.flake8 +++ /dev/null @@ -1,4 +0,0 @@ -[flake8] -extend-ignore = E203,E501,E701 -max-line-length = 88 -exclude = [".eggs"] diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2428953..b7a9c21 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -80,6 +80,11 @@ jobs: # Run linter / checks checks: uses: ewoks-kit/.github/.github/workflows/python-check.yml@main + with: + enable-black: "false" + enable-flake8: "false" + enable-isort: "false" + enable-ruff: "true" # Build documentation docs: diff --git a/.gitignore b/.gitignore index 8c67219..d6a75ad 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ !.gitignore !.github !.readthedocs.yaml -!.flake8 # Byte / compiled / optimized *.py[cod] diff --git a/pyproject.toml b/pyproject.toml index 330f608..159203b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,8 +33,7 @@ test = [ ] dev = [ "ewoksppf[test]", - "black >=25", - "flake8 >=4", + "ruff>=0.16.0", ] doc = [ "ewoksppf[test]", @@ -57,6 +56,22 @@ omit = ['*/tests/*'] [project.entry-points."ewoks.engines"] "ppf" = "ewoksppf.engine:PpfWorkflowEngine" -[tool.isort] -profile = "black" -force_single_line = "True" +[tool.ruff.lint] +select = [ + "E", # pycodestyle errors + "F", # pyflakes + "I", # isort + "S", # flake8-bandit +] +ignore = [ + "E501", # line too long +] + +[tool.ruff.lint.per-file-ignores] +"src/ewoksppf/tests/*.py" = [ + "S101" # allow asserts +] + +[tool.ruff.lint.isort] +force-single-line = true +known-first-party = ["ewoksppf"] diff --git a/scripts/mapreduce_workflow.py b/scripts/mapreduce_workflow.py index 1215cd9..df76535 100644 --- a/scripts/mapreduce_workflow.py +++ b/scripts/mapreduce_workflow.py @@ -4,8 +4,8 @@ """ import os -import random import time +from random import SystemRandom import numpy from ewokscore.task import Task @@ -13,6 +13,8 @@ from ewoksppf import execute_graph +_random = SystemRandom() + class GenerateData( Task, @@ -20,7 +22,6 @@ class GenerateData( optional_input_names=["block_index"], output_names=["image_stack", "block_index", "finished"], ): - def run(self): t0 = time.perf_counter() block_index = self.get_input_value("block_index", 0) @@ -34,7 +35,7 @@ def run(self): self.outputs.block_index = block_index + 1 self.outputs.finished = self.outputs.block_index >= self.inputs.nblocks t1 = time.perf_counter() - print(f"{block_size/(t1-t0)} images/sec") + print(f"{block_size / (t1 - t0)} images/sec") class IntegrateData( @@ -43,7 +44,6 @@ class IntegrateData( optional_input_names=["axis", "delay"], output_names=["pattern_stack", "block_index"], ): - def run(self): image_axis = self.get_input_value("axis", 0) self.outputs.pattern_stack = self.inputs.image_stack.sum(axis=image_axis + 1) @@ -51,9 +51,9 @@ def run(self): delay = self.get_input_value("delay", 0) if delay: - time.sleep(random.uniform(delay, delay * 1.5)) + time.sleep(_random.uniform(delay, delay * 1.5)) else: - time.sleep(random.uniform(0, 0.1)) + time.sleep(_random.uniform(0, 0.1)) class SaveData( @@ -61,7 +61,6 @@ class SaveData( input_names=["data_stack", "block_index", "filename"], output_names=["hdf5_url"], ): - def run(self): filename = os.path.abspath(self.inputs.filename) block_index = self.inputs.block_index diff --git a/src/ewoksppf/engine.py b/src/ewoksppf/engine.py index 84825db..6c656ff 100644 --- a/src/ewoksppf/engine.py +++ b/src/ewoksppf/engine.py @@ -10,7 +10,6 @@ class PpfWorkflowEngine(WorkflowEngine): - def execute_graph( self, graph: Any,