diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f2454424..3d7a79fe 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -29,10 +29,6 @@ repos: hooks: - id: ruff-format - id: ruff -- repo: https://github.com/dosisod/refurb - rev: v2.0.0 - hooks: - - id: refurb - repo: https://github.com/executablebooks/mdformat rev: 0.7.22 hooks: diff --git a/docs/source/changes.md b/docs/source/changes.md index a8d93f32..d53d7d24 100644 --- a/docs/source/changes.md +++ b/docs/source/changes.md @@ -5,7 +5,7 @@ chronological order. Releases follow [semantic versioning](https://semver.org/) releases are available on [PyPI](https://pypi.org/project/pytask) and [Anaconda.org](https://anaconda.org/conda-forge/pytask). -## 0.5.3 - 2025-xx-xx +## 0.5.3 - 2025-05-16 - {pull}`650` allows to identify from which data catalog a node is coming from. Thanks to {user}`felixschmitz` for the report! The feature is enabled by adding an @@ -15,6 +15,8 @@ releases are available on [PyPI](https://pypi.org/project/pytask) and - {pull}`671` enhances the documentation on complex repetitions. Closes {issue}`670`. - {pull}`673` adds de-/serializer function attributes to the `PickleNode`. Closes {issue}`669`. +- {pull}`677` excludes the latest click v8.2.0 due to compatibility issues. +- {pull}`678` enables some tests in CI or offline, removes refurb. ## 0.5.2 - 2024-12-19 diff --git a/pyproject.toml b/pyproject.toml index 41a3d5fe..4464a18c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -110,7 +110,6 @@ source = "vcs" allow-direct-references = true [tool.ruff] -target-version = "py39" fix = true unsafe-fixes = true extend-include = ["*.ipynb"] @@ -197,13 +196,6 @@ disable_error_code = ["import-not-found"] module = ["_pytask.hookspecs"] disable_error_code = ["empty-body"] -[tool.refurb] -python_version = "3.9" - -[[tool.refurb.amend]] -path = "src/_pytask/mark/structures.py" -ignore = ["FURB173"] - [tool.coverage.report] exclude_also = [ "pragma: no cover", diff --git a/tests/test_debugging.py b/tests/test_debugging.py index 40d1ebcd..5c7d8266 100644 --- a/tests/test_debugging.py +++ b/tests/test_debugging.py @@ -173,7 +173,7 @@ def task_example(): @pytest.mark.end_to_end -@pytest.mark.xfail(reason="#312") +@pytest.mark.xfail(os.environ.get("CI") == "true", reason="#312") @pytest.mark.skipif(not IS_PEXPECT_INSTALLED, reason="pexpect is not installed.") @pytest.mark.skipif(sys.platform == "win32", reason="pexpect cannot spawn on Windows.") def test_pdb_interaction_capturing_simple(tmp_path): # pragma: no cover @@ -285,7 +285,7 @@ def task_2(): @pytest.mark.end_to_end -@pytest.mark.xfail(reason="#312") +@pytest.mark.xfail(os.environ.get("CI") == "true", reason="#312") @pytest.mark.skipif(not IS_PEXPECT_INSTALLED, reason="pexpect is not installed.") @pytest.mark.skipif(sys.platform == "win32", reason="pexpect cannot spawn on Windows.") def test_pdb_interaction_capturing_twice(tmp_path): # pragma: no cover diff --git a/tests/test_hook_module.py b/tests/test_hook_module.py index 8357f7e1..dd950e7c 100644 --- a/tests/test_hook_module.py +++ b/tests/test_hook_module.py @@ -18,7 +18,7 @@ pytest.param( True, marks=pytest.mark.xfail( - sys.platform == "win32" and "CI" in os.environ, + sys.platform == "win32" and os.environ.get("CI") == "true", reason="pytask is not found in subprocess", strict=True, ), @@ -64,7 +64,7 @@ def pytask_extend_command_line_interface(cli): pytest.param( True, marks=pytest.mark.xfail( - sys.platform == "win32" and "CI" in os.environ, + sys.platform == "win32" and os.environ.get("CI") == "true", reason="pytask is not found in subprocess", strict=True, ), diff --git a/tests/test_live.py b/tests/test_live.py index 39c2403b..c5727fdc 100644 --- a/tests/test_live.py +++ b/tests/test_live.py @@ -189,7 +189,6 @@ def test_live_execution_displays_subset_of_table(capsys, tmp_path, n_entries_in_ @pytest.mark.unit -@pytest.mark.xfail(reason="See #377.") def test_live_execution_skips_do_not_crowd_out_displayed_tasks(capsys, tmp_path): path = tmp_path.joinpath("task_module.py") task = Task(base_name="task_example", path=path, function=lambda x: x)