From c3f019d835854814d9d7e60055eaac51e6360b00 Mon Sep 17 00:00:00 2001 From: CoolCat467 <52022020+CoolCat467@users.noreply.github.com> Date: Wed, 17 Jan 2024 20:21:35 -0600 Subject: [PATCH 1/3] Switch from using pylint to ruff --- anytree/exporter/mermaidexporter.py | 3 +-- pyproject.toml | 34 ++++++++++++++++------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/anytree/exporter/mermaidexporter.py b/anytree/exporter/mermaidexporter.py index bfb725a..cfc9eb4 100644 --- a/anytree/exporter/mermaidexporter.py +++ b/anytree/exporter/mermaidexporter.py @@ -197,8 +197,7 @@ def __iter_options(self, indent): def __iter_nodes(self, indent, nodenamefunc, nodefunc, filter_, stop): for node in PreOrderIter(self.node, filter_=filter_, stop=stop, maxlevel=self.maxlevel): nodename = nodenamefunc(node) - node = nodefunc(node) - yield "%s%s%s" % (indent, nodename, node) + yield "%s%s%s" % (indent, nodename, nodefunc(node)) def __iter_edges(self, indent, nodenamefunc, edgefunc, filter_, stop): maxlevel = self.maxlevel - 1 if self.maxlevel else None diff --git a/pyproject.toml b/pyproject.toml index d329ac9..1ab4619 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ six = '*' black = '^22.3.0' coverage = '^6.4.4' isort = '^5.9' -pylint = '^2.15' +ruff = '^0.1.13' pytest = '^6.2' pyyaml = ">=6.0" @@ -79,18 +79,22 @@ exclude_lines = [ ] -[tool.pylint.'MESSAGES CONTROL'] -max-line-length = 120 -disable = [ - 'consider-using-f-string', - 'duplicate-code', - 'missing-class-docstring', - 'missing-module-docstring', - 'redundant-u-string-prefix', - 'too-few-public-methods', - 'too-many-arguments', - 'too-many-instance-attributes', - 'super-with-arguments', # TBD +[tool.ruff] +line-length = 120 +fix = true + +include = ["*.py", "*.pyi", "**/pyproject.toml"] +select = [ + "PL", # Pylint +] +extend-ignore = [ + "UP031", # printf-string-formatting + "UP032", # f-string + "D101", # undocumented-public-class + "D100", # undocumented-public-module + "PLR0912", # too-many-branches + "PLR0913", # too-many-arguments + "UP008", # super-call-with-parameters # TBD ] [tool.tox] @@ -115,6 +119,6 @@ commands = poetry run coverage report poetry run coverage html poetry run coverage xml - poetry run pylint anytree + poetry run ruff check anytree poetry run make html -C docs -""" \ No newline at end of file +""" From 5db57e4769233403ee4f0826729cd499fdf23724 Mon Sep 17 00:00:00 2001 From: CoolCat467 <52022020+CoolCat467@users.noreply.github.com> Date: Wed, 17 Jan 2024 20:25:41 -0600 Subject: [PATCH 2/3] Switch to ruff's integrated isort --- pyproject.toml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1ab4619..202547a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,6 @@ six = '*' [tool.poetry.group.test.dependencies] black = '^22.3.0' coverage = '^6.4.4' -isort = '^5.9' ruff = '^0.1.13' pytest = '^6.2' pyyaml = ">=6.0" @@ -51,6 +50,10 @@ requires = ["poetry_core>=1.0"] build-backend = "poetry.core.masonry.api" +[tool.ruff.isort] +combine-as-imports = true + + [tool.black] line-length = 120 include = '\.pyi?$' @@ -67,10 +70,6 @@ exclude = ''' )/ ''' -[tool.isort] -profile = "black" -line_length = 120 - [tool.coverage.report] exclude_lines = [ 'return NotImplemented', @@ -86,6 +85,7 @@ fix = true include = ["*.py", "*.pyi", "**/pyproject.toml"] select = [ "PL", # Pylint + "I", # isort ] extend-ignore = [ "UP031", # printf-string-formatting @@ -114,7 +114,6 @@ setenv = commands = poetry install --with=test --with=doc poetry run black . - poetry run isort . poetry run coverage run --source=anytree --branch -m pytest --doctest-glob=docs/*.rst --doctest-modules --ignore-glob=tests/testdata* --ignore=docs/conf.py --log-level=DEBUG -vv --junitxml=report.xml poetry run coverage report poetry run coverage html From c5bf90eea33678b7345d21292b54d90c269b1b38 Mon Sep 17 00:00:00 2001 From: CoolCat467 <52022020+CoolCat467@users.noreply.github.com> Date: Wed, 17 Jan 2024 20:28:02 -0600 Subject: [PATCH 3/3] Move ruff to run immediately after black --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 202547a..69ade94 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -114,10 +114,10 @@ setenv = commands = poetry install --with=test --with=doc poetry run black . + poetry run ruff check anytree poetry run coverage run --source=anytree --branch -m pytest --doctest-glob=docs/*.rst --doctest-modules --ignore-glob=tests/testdata* --ignore=docs/conf.py --log-level=DEBUG -vv --junitxml=report.xml poetry run coverage report poetry run coverage html poetry run coverage xml - poetry run ruff check anytree poetry run make html -C docs """