From 975aa980c3f7cd387e6cdcd83b3db87f2b550c0a Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:15:35 +0200 Subject: [PATCH] ENH: remove `target-version` from `black` and `ruff` config (#382) --- pyproject.toml | 1 - src/compwa_policy/check_dev_files/black.py | 21 +++++++++++++++------ src/compwa_policy/check_dev_files/ruff.py | 11 +++++++++-- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 11457715..6eb26002 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -259,7 +259,6 @@ src = [ "src", "tests", ] -target-version = "py37" [tool.ruff.format] docstring-code-format = true diff --git a/src/compwa_policy/check_dev_files/black.py b/src/compwa_policy/check_dev_files/black.py index 750e1f83..5c142874 100644 --- a/src/compwa_policy/check_dev_files/black.py +++ b/src/compwa_policy/check_dev_files/black.py @@ -1,5 +1,7 @@ """Update :file:`pyproject.toml` black configuration.""" +from typing import Any + from ruamel.yaml import YAML from compwa_policy.utilities import CONFIG_PATH, vscode @@ -59,12 +61,19 @@ def _remove_outdated_settings(pyproject: ModifiablePyproject) -> None: def _update_black_settings(pyproject: ModifiablePyproject) -> None: settings = pyproject.get_table("tool.black", create=True) - versions = pyproject.get_supported_python_versions() - target_version = to_toml_array(sorted("py" + v.replace(".", "") for v in versions)) - minimal_settings = { - "preview": True, - "target-version": target_version, - } + minimal_settings: dict[str, Any] = {"preview": True} + project_root = pyproject.get_table("project", create=True) + if "requires-python" in project_root: + if settings.get("target-version") is not None: + settings.pop("target-version") + msg = "Removed target-version from black configuration" + pyproject.changelog.append(msg) + else: + versions = pyproject.get_supported_python_versions() + target_version = to_toml_array( + sorted("py" + v.replace(".", "") for v in versions) + ) + minimal_settings["target-version"] = target_version if not complies_with_subset(settings, minimal_settings): settings.update(minimal_settings) msg = "Updated black configuration" diff --git a/src/compwa_policy/check_dev_files/ruff.py b/src/compwa_policy/check_dev_files/ruff.py index 4953e136..574b4ad6 100644 --- a/src/compwa_policy/check_dev_files/ruff.py +++ b/src/compwa_policy/check_dev_files/ruff.py @@ -205,11 +205,18 @@ def __update_global_settings( pyproject: ModifiablePyproject, has_notebooks: bool ) -> None: settings = pyproject.get_table("tool.ruff", create=True) - minimal_settings = { + minimal_settings: dict[str, Any] = { "preview": True, "show-fixes": True, - "target-version": ___get_target_version(pyproject), } + project = pyproject.get_table("project", create=True) + if "requires-python" in project: + if settings.get("target-version") is not None: + settings.pop("target-version") + msg = "Removed target-version from Ruff configuration" + pyproject.changelog.append(msg) + else: + minimal_settings["target-version"] = ___get_target_version(pyproject) if has_notebooks: key = "extend-include" default_includes = sorted({