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 3.12.0, pytask 0.5.3, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 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 3.12.0, pytask 0.5.3, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 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.