Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ repos:
- id: python-no-log-warn
- id: text-unicode-replacement-char
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.13.2
rev: v0.13.3
hooks:
- id: ruff-format
- id: ruff-check
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ releases are available on [PyPI](https://pypi.org/project/pytask) and
## 0.5.6 - 2025-xx-xx

- {pull}`703` fixes {issue}`701` by allowing `--capture tee-sys` again.
- {pull}`704` adds the `--explain` flag to show why tasks would be executed. Closes {issue}`466`.

## 0.5.5 - 2025-07-25

Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/capture.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">2</span> tasks.
Collected 2 tasks.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/clean-dry-run-directories.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask clean --directories
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

Files which can be removed:

Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/clean-dry-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask clean
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

Files which can be removed:

Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/collect-nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

Collected tasks:
└── 🐍 &lt;Module task_module.py&gt;
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/collect.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

Collected tasks:
└── 🐍 &lt;Module task_module.py&gt;
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/defining-dependencies-products.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">2</span> task.
Collected 2 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/dry-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask --dry-run
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
46 changes: 46 additions & 0 deletions docs/source/_static/md/explain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<div class="termy">

```console

$ pytask --explain
────────────────────────── Start pytask session ─────────────────────────
Platform: darwin -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.6</span>, pluggy <span style="color: var(--termynal-blue)">1.6.0</span>
Root: /Users/pytask-dev/git/my_project
Collected 3 tasks.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ <span class="termynal-dim">task_data.py::</span>task_create_data │ <span class="termynal-success">w</span> │
│ <span class="termynal-dim">task_analysis.py::</span>task_analyze │ <span class="termynal-success">w</span> │
│ <span class="termynal-dim">task_plot.py::</span>task_plot │ <span class="termynal-dim">s</span> │
└───────────────────────────────────────────────────┴─────────┘

<span class="termynal-dim">─────────────────────────────────────────────────────────────────────────</span>
<span style="color: var(--termynal-blue); font-weight: bold;">────────────────────────────── Explanation ──────────────────────────────</span>

<span class="termynal-success">─── Tasks that would be executed ────────────────────────────────────────</span>

<span style="font-weight: bold;">task_data.py::task_create_data</span>
• task_data.py::task_create_data: Changed

<span style="font-weight: bold;">task_analysis.py::task_analyze</span>
• Preceding task_data.py::task_create_data would be executed

<span class="termynal-skipped">─── Skipped tasks ───────────────────────────────────────────────────────</span>

<span style="font-weight: bold;">task_plot.py::task_plot</span>
• Skipped by marker

1 persisted task(s) (use -vv to show details)

<span class="termynal-dim">─────────────────────────────────────────────────────────────────────────</span>
<span class="termynal-success">╭───────────</span> <span style="font-weight: bold;">Summary</span> <span class="termynal-success">──────────────╮</span>
<span class="termynal-success">│</span> <span style="font-weight: bold;"> 3 Collected tasks </span> <span class="termynal-success">│</span>
<span class="termynal-success">│</span> <span class="termynal-success-textonly"> 2 Would be executed (66.7%) </span> <span class="termynal-success">│</span>
<span class="termynal-success">│</span> <span class="termynal-dim-textonly"> 1 Skipped (33.3%) </span> <span class="termynal-success">│</span>
<span class="termynal-success">╰──────────────────────────────────╯</span>
<span class="termynal-success">─────────────────────── Succeeded in 0.02 seconds ───────────────────────</span>
```

</div>
2 changes: 1 addition & 1 deletion docs/source/_static/md/migrating-from-scripts-to-pytask.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/pdb.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask --pdb
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Traceback >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<span style="color: #f14c4c">╭───────────────────</span><span style="color: #f14c4c; font-weight: bold;"> Traceback </span><span style="color: #6c1e1e; font-weight: bold">(most recent call last)</span><span style="color: #f14c4c"> ─────────────────╮</span>
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/persist-executed.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/persist-persisted.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/persist-skipped.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask --verbose 2
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/profiling-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask profile
───────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">18</span> task.
Collected 18 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Task ┃ Duration (in s) ┃ Size ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
──────────────────────────── Start pytask session ────────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/repeating-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">10</span> task.
Collected 10 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/show-locals.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask --show-locals
──────────────────────────── Start pytask session ────────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/trace.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask --trace
──────────────────────────── Start pytask session ────────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

>>>>>>>>>>>>>>>>>> PDB runcall (IO-capturing turned off) >>>>>>>>>>>>>>>>>>

Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/try-first.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask -s
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">2</span> task.
Collected 2 task.

I'm first
I'm second
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/try-last.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask -s
────────────────────────── Start pytask session ────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">2</span> task.
Collected 2 task.

I'm second
I'm first
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/warning.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/write-a-task.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python <span style="color: var(--termynal-blue)">3.12.0</span>, pytask <span style="color: var(--termynal-blue)">0.5.3</span>, pluggy <span style="color: var(--termynal-blue)">1.3.0</span>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected 1 task.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Task ┃ Outcome ┃
Expand Down
Loading