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
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ 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).

## Unreleased
## 0.6.0 - 2026-05-01

- [#875](https://github.com/pytask-dev/pytask/pull/875) improves the documentation
homepage cards by making the full tile clickable and fixes the plugin list warning
admonition formatting.
- [#874](https://github.com/pytask-dev/pytask/pull/874) improves the lockfile
documentation by restructuring related guides around user workflows and introducing
`pytask.lock` in the tutorials.
Expand Down
7 changes: 7 additions & 0 deletions docs/source/_static/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,16 @@
}

.home-card-grid li {
position: relative;
text-align: center;
}

.home-card-grid li .home-card-title::after {
position: absolute;
inset: 0;
content: "";
}

.home-card-icon {
display: block;
margin: 0 auto 0.75rem;
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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 2 tasks.

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 @@ -4,7 +4,7 @@

$ pytask clean --directories
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask clean
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 2 task.

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 @@ -4,7 +4,7 @@

$ pytask --dry-run
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/explain.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

$ pytask --explain
────────────────────────── Start pytask session ─────────────────────────
Platform: darwin -- Python 3.12.0, pytask 0.5.6, pluggy 1.6.0
Platform: darwin -- Python 3.13.0, pytask 0.6.0, pluggy 1.6.0
Root: /Users/pytask-dev/git/my_project
Collected 3 tasks.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/help-page.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
```console
$ pytask --help

<center>pytask <span class="termynal-dim">v0.5.3</span></center>
<center>pytask <span class="termynal-dim">v0.6.0</span></center>
Usage: <b>pytask [OPTIONS] [COMMAND] [PATHS]</b>

<span class="termynal-dim">Manage your tasks with pytask.</span>
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/lock-accept-dry-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
$ pytask lock accept -k train --dry-run

<span class="termynal-dim">──────────────────────────</span> Start pytask session <span class="termynal-dim">──────────────────────────</span>
Platform: win32 -- Python 3.12.0, pytask 0.5.3
Platform: win32 -- Python 3.13.0, pytask 0.6.0
Root: C:\Users\pytask-dev\git\my_project
Collected 2 tasks.
<span class="termynal-success">Would accept recorded state for task_train.py::task_train.</span>
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/lock-accept-interactive.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
```console
$ pytask lock accept -k train
<span class="termynal-dim">──────────────────────────</span> Start pytask session <span class="termynal-dim">──────────────────────────</span>
Platform: win32 -- Python 3.12.0, pytask 0.5.3
Platform: win32 -- Python 3.13.0, pytask 0.6.0
Root: C:\Users\pytask-dev\git\my_project
Collected 2 tasks.
# Accept recorded state for task_train.py::task_train? [y/N]: $ y
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/lock-clean.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
```console
$ pytask lock clean
<span class="termynal-dim">──────────────────────────</span> Start pytask session <span class="termynal-dim">──────────────────────────</span>
Platform: win32 -- Python 3.12.0, pytask 0.5.3
Platform: win32 -- Python 3.13.0, pytask 0.6.0
Root: C:\Users\pytask-dev\git\my_project
Collected 2 tasks.
# Remove recorded state for task_old.py::task_train? [y/N]: $ y
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/md/logging-live.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

$ pytask --log-cli --log-cli-level=INFO --show-capture=log
───────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 2 tasks.

Expand Down
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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask --pdb
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask --verbose 2
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask profile
───────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 18 task.

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 @@ -4,7 +4,7 @@

$ pytask
──────────────────────────── Start pytask session ────────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 10 task.

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 @@ -4,7 +4,7 @@

$ pytask --show-locals
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask --trace
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask -s
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 2 task.

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 @@ -4,7 +4,7 @@

$ pytask -s
────────────────────────── Start pytask session ────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 2 task.

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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

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 @@ -4,7 +4,7 @@

$ pytask
────────────────────────── Start pytask session ─────────────────────────
Platform: win32 -- Python 3.12.0, pytask 0.5.3, pluggy 1.3.0
Platform: win32 -- Python 3.13.0, pytask 0.6.0, pluggy 1.3.0
Root: C:\Users\pytask-dev\git\my_project
Collected 1 task.

Expand Down
8 changes: 4 additions & 4 deletions docs/source/how_to_guides/functional_interface.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,11 @@
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">Platform: darwin -- Python 3.12.12, pytask 0.5.6, pluggy 1.6.0\n",
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">Platform: darwin -- Python 3.12.12, pytask 0.6.0, pluggy 1.6.0\n",
"</pre>\n"
],
"text/plain": [
"Platform: darwin -- Python 3.12.12, pytask 0.5.6, pluggy 1.6.0\n"
"Platform: darwin -- Python 3.12.12, pytask 0.6.0, pluggy 1.6.0\n"
]
},
"metadata": {},
Expand Down Expand Up @@ -334,11 +334,11 @@
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">Platform: darwin -- Python 3.12.12, pytask 0.5.6, pluggy 1.6.0\n",
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">Platform: darwin -- Python 3.12.12, pytask 0.6.0, pluggy 1.6.0\n",
"</pre>\n"
],
"text/plain": [
"Platform: darwin -- Python 3.12.12, pytask 0.5.6, pluggy 1.6.0\n"
"Platform: darwin -- Python 3.12.12, pytask 0.6.0, pluggy 1.6.0\n"
]
},
"metadata": {},
Expand Down
39 changes: 12 additions & 27 deletions docs/source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,40 +13,25 @@
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/pytask-dev/pytask/main.svg)](https://results.pre-commit.ci/latest/github/pytask-dev/pytask/main)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

## Features

<!-- Keep in sync with README.md -->

pytask is a [workflow management system](glossary.md#workflow-management-system) that
facilitates reproducible data analyses. Its features include:
pytask facilitates reproducible data analyses. Its features are:

- **Automatic discovery of tasks.**
- **Lazy evaluation.** If a task, its dependencies, and its products have not changed,
do not execute it.
- **Debug mode.**
- **Automatic discovery of tasks**
- **Lazy execution**: Skip tasks when inputs and outputs are unchanged.
- **Debug mode**:
[Jump into the debugger](https://pytask-dev.readthedocs.io/en/stable/tutorials/debugging.html)
if a task fails, get feedback quickly, and be more productive.
- **Repeat a task with different inputs.**
[Loop over task functions](https://pytask-dev.readthedocs.io/en/stable/tutorials/repeating_tasks_with_different_inputs.html)
to run the same task with different inputs.
- **Select tasks via expressions.** Run only a subset of tasks with
[expressions and marker expressions](https://pytask-dev.readthedocs.io/en/stable/tutorials/selecting_tasks.html).
- **Easily extensible with plugins**. pytask is built on top of
[pluggy](https://pluggy.readthedocs.io/en/latest/), a plugin management framework,
which allows you to adjust pytask to your needs. Plugins are available for
if a task fails.
- **Repeat a task with different inputs**:
[Loop over task functions](https://pytask-dev.readthedocs.io/en/stable/tutorials/repeating_tasks_with_different_inputs.html).
- **Task Selection**: Run subsets with
[expressions and markers](https://pytask-dev.readthedocs.io/en/stable/tutorials/selecting_tasks.html).
- **Plugins**: Extend pytask with plugins for
[parallelization](https://github.com/pytask-dev/pytask-parallel),
[LaTeX](https://github.com/pytask-dev/pytask-latex),
[R](https://github.com/pytask-dev/pytask-r), and
[Stata](https://github.com/pytask-dev/pytask-stata), and more can be found
[here](https://github.com/topics/pytask). Learn more about plugins in
[this tutorial](https://pytask-dev.readthedocs.io/en/stable/tutorials/plugins.html).

To get started with pytask, the documentation includes a series of tutorials. Go to the
first [tutorial](tutorials/installation.md) for the installation and proceed from there.

## Documentation

If you want to know more about pytask, dive into one of the following topics.
[Stata](https://github.com/pytask-dev/pytask-stata), and
[more](https://pytask-dev.readthedocs.io/en/stable/tutorials/plugins.html).

<div class="grid cards home-card-grid" markdown>

Expand Down
14 changes: 6 additions & 8 deletions docs/source/plugin_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@ Packages classified as inactive are excluded.

!!! warning

```
Please be aware that this list is not a curated collection of projects and does not
undergo a systematic review process. It serves purely as an informational resource
to aid in the discovery of `pytask` plugins.
Please be aware that this list is not a curated collection of projects and does not
undergo a systematic review process. It serves purely as an informational resource to
aid in the discovery of `pytask` plugins.

Do not presume any endorsement from the `pytask` project or its developers, and
always conduct your own quality assessment before incorporating any of these plugins
into your own projects.
```
Do not presume any endorsement from the `pytask` project or its developers, and always
conduct your own quality assessment before incorporating any of these plugins into your
own projects.

This list contains 6 plugins.

Expand Down
16 changes: 7 additions & 9 deletions scripts/update_plugin_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,13 @@

!!! warning

```
Please be aware that this list is not a curated collection of projects and does not
undergo a systematic review process. It serves purely as an informational resource
to aid in the discovery of `pytask` plugins.

Do not presume any endorsement from the `pytask` project or its developers, and
always conduct your own quality assessment before incorporating any of these plugins
into your own projects.
```
Please be aware that this list is not a curated collection of projects and does
not undergo a systematic review process. It serves purely as an informational
resource to aid in the discovery of `pytask` plugins.

Do not presume any endorsement from the `pytask` project or its developers, and
always conduct your own quality assessment before incorporating any of these
plugins into your own projects.

"""

Expand Down