Skip to content

Commit 984b781

Browse files
authored
Use new-style hook wrappers and require pluggy 1.3. (#555)
1 parent 655f62b commit 984b781

31 files changed

+59
-62
lines changed

.pre-commit-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ repos:
6363
attrs>=21.3.0,
6464
click,
6565
optree,
66-
pluggy,
66+
pluggy>=1.3.0,
6767
rich,
6868
sqlalchemy>2,
6969
types-setuptools,

docs/source/_static/md/capture.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">2</span> tasks.
1010

docs/source/_static/md/clean-dry-run-directories.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask clean --directories
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/clean-dry-run.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask clean
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/collect-nodes.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/collect.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/defining-dependencies-products.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">2</span> task.
1010

docs/source/_static/md/dry-run.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask --dry-run
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/migrating-from-scripts-to-pytask.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/pdb.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask --pdb
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/persist-executed.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/persist-persisted.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/persist-skipped.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask --verbose 2
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/profiling-tasks.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask profile
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">18</span> task.
1010

docs/source/_static/md/readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/repeating-tasks.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">10</span> task.
1010

docs/source/_static/md/show-locals.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask --show-locals
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/trace.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask --trace
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/try-first.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask -s
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">2</span> task.
1010

docs/source/_static/md/try-last.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask -s
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">2</span> task.
1010

docs/source/_static/md/warning.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/_static/md/write-a-task.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
$ pytask
66
──────────────────────────── Start pytask session ────────────────────────────
7-
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.0.0</span>
7+
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.10.0</span>, pytask <span style="color: var(--termynal-blue)">0.4.0</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
88
Root: C:\Users\pytask-dev\git\my_project
99
Collected <span style="color: var(--termynal-blue)">1</span> task.
1010

docs/source/changes.md

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ releases are available on [PyPI](https://pypi.org/project/pytask) and
1515
- {pull}`553` deprecates `paths` as a string in configuration and ensures that paths
1616
passed via the command line are relative to CWD and paths in the configuration
1717
relative to the config file.
18+
- {pull}`555` uses new-style hook wrappers and requires pluggy 1.3 for typing.
1819

1920
## 0.4.5 - 2024-01-09
2021

environment.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ dependencies:
1515
- click
1616
- click-default-group
1717
- networkx >=2.4
18-
- pluggy >=1.0.0
18+
- pluggy >=1.3.0
1919
- optree >=0.9
2020
- rich
2121
- sqlalchemy >=2

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ dependencies = [
3434
"networkx>=2.4",
3535
"optree>=0.9",
3636
"packaging",
37-
"pluggy>=1",
37+
"pluggy>=1.3.0",
3838
"rich",
3939
"sqlalchemy>=2",
4040
'tomli>=1; python_version < "3.11"',

src/_pytask/capture.py

+13-13
Original file line numberDiff line numberDiff line change
@@ -724,33 +724,33 @@ def task_capture(self, when: str, task: PTask) -> Generator[None, None, None]:
724724
finally:
725725
self.suspend(in_=False)
726726

727-
out, err = self.read()
728-
if out:
729-
task.report_sections.append((when, "stdout", out))
730-
if err:
731-
task.report_sections.append((when, "stderr", err))
727+
out, err = self.read()
728+
if out:
729+
task.report_sections.append((when, "stdout", out))
730+
if err:
731+
task.report_sections.append((when, "stderr", err))
732732

733733
# Hooks
734734

735-
@hookimpl(hookwrapper=True)
735+
@hookimpl(wrapper=True)
736736
def pytask_execute_task_setup(self, task: PTask) -> Generator[None, None, None]:
737737
"""Capture output during setup."""
738738
with self.task_capture("setup", task):
739-
yield
739+
return (yield)
740740

741-
@hookimpl(hookwrapper=True)
741+
@hookimpl(wrapper=True)
742742
def pytask_execute_task(self, task: PTask) -> Generator[None, None, None]:
743743
"""Capture output during execution."""
744744
with self.task_capture("call", task):
745-
yield
745+
return (yield)
746746

747-
@hookimpl(hookwrapper=True)
747+
@hookimpl(wrapper=True)
748748
def pytask_execute_task_teardown(self, task: PTask) -> Generator[None, None, None]:
749749
"""Capture output during teardown."""
750750
with self.task_capture("teardown", task):
751-
yield
751+
return (yield)
752752

753-
@hookimpl(hookwrapper=True)
753+
@hookimpl(wrapper=True)
754754
def pytask_collect_log(self) -> Generator[None, None, None]:
755755
"""Suspend capturing at the end of the collection.
756756
@@ -763,4 +763,4 @@ def pytask_collect_log(self) -> Generator[None, None, None]:
763763
764764
"""
765765
self.suspend(in_=True)
766-
yield
766+
return (yield)

src/_pytask/debugging.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -309,14 +309,14 @@ class PdbDebugger:
309309
"""Namespace for debugging."""
310310

311311
@staticmethod
312-
@hookimpl(hookwrapper=True)
312+
@hookimpl(wrapper=True)
313313
def pytask_execute_task(
314314
session: Session, task: PTask
315315
) -> Generator[None, None, None]:
316316
"""Execute a task by wrapping the function with post-mortem debugger."""
317317
if isinstance(task, PTask):
318318
wrap_function_for_post_mortem_debugging(session, task)
319-
yield
319+
return (yield)
320320

321321

322322
def wrap_function_for_post_mortem_debugging(session: Session, task: PTask) -> None:
@@ -369,14 +369,14 @@ class PdbTrace:
369369
"""Namespace for tracing."""
370370

371371
@staticmethod
372-
@hookimpl(hookwrapper=True)
372+
@hookimpl(wrapper=True)
373373
def pytask_execute_task(
374374
session: Session, task: PTask
375375
) -> Generator[None, None, None]:
376376
"""Wrap the task function with a tracer."""
377377
if isinstance(task, PTask):
378378
wrap_function_for_tracing(session, task)
379-
yield
379+
return (yield)
380380

381381

382382
def wrap_function_for_tracing(session: Session, task: PTask) -> None:

0 commit comments

Comments
 (0)