Collecting tasks#
If you want to inspect your project and see a summary of all the tasks, you can use the
pytask collect
command.
Let us take the following task.
from pathlib import Path
from typing import Annotated
from pytask import Product
def task_write_file(
input_path: Path = Path("in.txt"),
output_path: Annotated[Path, Product] = Path("out.txt"),
) -> None:
output_path.write_text(input_path.read_text())
Now, running pytask collect
will produce the following output.
$ pytask
──────────────────────────── Start pytask session ────────────────────────────
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>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected tasks:
└── 🐍 <Module task_module.py>
└── 📝 <Function <span class="termynal-dim">task_module.py::</span>task_write_file>
──────────────────────────────────────────────────────────────────────────────
If you want to have more information regarding the dependencies and products of the
task, append the pytask collect --nodes
flag.
$ pytask
──────────────────────────── Start pytask session ────────────────────────────
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>
Root: C:\Users\pytask-dev\git\my_project
Collected <span style="color: var(--termynal-blue)">1</span> task.
Collected tasks:
└── 🐍 <Module task_module.py>
└── 📝 <Function <span class="termynal-dim">task_module.py::</span>task_write_file>
├── 📄 <Dependency my_project/in.txt>
└── 📄 <Product my_project/out.txt>
──────────────────────────────────────────────────────────────────────────────
To restrict the set of tasks you are looking at, use markers, expressions and ignore patterns as usual.