Releases: pytask-dev/pytask
v0.2.1
Highlights
This release has two features.
-
A new configuration value,
sort_tableallows you to control whether the table after the execution is sorted alphabetically or ordered by execution. Here is the entry in the documentation. Thanks to @timmens for his first contribution 🎉. -
pytask is now able to capture warnings and to report them. Here is an example with the infamous
SettingWithCopyWarningfrom pandas

Take a look at the how-to guide about capturing warnings to learn more about the feature.Currently, this feature does not work when you parallelize the execution with pytask-parallel. Support is planned.
What's Changed
- Add svg for profiling tasks. by @tobiasraabe in #259
- Add sort_table option by @timmens in #261
- Capture warnings. by @tobiasraabe in #263
New Contributors
Full Changelog: v0.2.0...v0.2.1
v0.2.0
The v0.2 release contains several new features and breaking changes with v0.1.x versions of the plugins for the good of the whole project.
Highlights
- The documentation is improved a lot and features shiny svgs.
- Parametrizations are now a lot easier! Repeat your tasks in loops instead of parametrizations.
import numpy as np
import pytask
for i in range(10):
@pytask.mark.task
def task_create_random_data(produces=f"data_{i}.pkl", seed=i):
rng = np.random.default_rng(seed)
...pyproject.tomlis the new configuration file for pytask. This release soft-deprecates all ini-configurations. Here is more information.- Dependencies and products can be nested to allow for more structure.
The release also allows the plugins to provide better interfaces in their next releases. Keep an eye on new releases in the coming days.
What's Changed
- Use pybaum for more flexible dependencies and products. by @tobiasraabe in #211
- Implement a new loop-based approach to parametrizations. by @tobiasraabe in #229
- Move documenation to MyST. by @tobiasraabe in #232
- Add a counter under the execution table to show completed tasks. by @tobiasraabe in #252
Full Changelog: v0.1.9...v0.2.0
v0.1.9
Highlights
The highlight of the current release is an automatically updated list of plugins for pytask which you can see here.
Apart from that, the release includes improvements to code, tests, and the documentation.
What's Changed
- Enhance the tutorial on how to set up a project. by @tobiasraabe in #217
- Remove
depends_onandproducesfrom task function when parsed. by @tobiasraabe in #218 - Remove leftovers from pytest from
_pytask.mark.Mark. by @tobiasraabe in #219 - Publish types, classes, and functions. by @tobiasraabe in #197
- Add an automated job to create a list of plugins in the docs. by @tobiasraabe in #222
- Add more test cases for parametrizations. by @tobiasraabe in #221
- Fix a circular import error created by #197. by @tobiasraabe in #225
- Fix crowding-out of tasks in table by skipped and persisted tasks. by @tobiasraabe in #226
Full Changelog: v0.1.8...v0.1.9
v0.1.8
Highlight
The highlight of this release is the new design of the help pages which are now colored and better structured.
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #212
- Allow
__tracebackhide__to be a callable. by @tobiasraabe in #210 - Add .coveragerc and improve coverage. by @tobiasraabe in #213
- Make help pages prettier. by @tobiasraabe in #215
Full Changelog: v0.1.7...v0.1.8
v0.1.7
Highlights
This is the first release of pytask which supports Python 3.10. At the same time, Python 3.6 is deprecated since EOF was in last december.
What's Changed
- Cancel previous CI runs automatically. by @tobiasraabe in #209
- Deprecate Python 3.6. by @tobiasraabe in #192
- Add support and testing for Python 3.10. by @tobiasraabe in #153
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #179
Full Changelog: v0.1.6...v0.1.7
v0.1.6
Highlights
This release features the new @pytask.mark.task decorator which allows to mark functions as tasks without requiring the task_ prefix. It also accepts an optional name parameter to rename the task to something else than the function name.
@pytask.mark.task
def prepare_data():
passWhat's Changed
- Add guide on how to profile pytask. by @tobiasraabe in #191
- Add more figures to the documentation. by @tobiasraabe in #193
- Change demo in README.rst. by @tobiasraabe in #194
- Mention the two new cookiecutters more prominently. by @tobiasraabe in #196
- Fix skipif marker in the documentation. by @tobiasraabe in #198
- A better error message when paths are ambiguous on case-insensitive file systems. by @tobiasraabe in #199
- Mark arbitrary function as tasks with
@pytask.mark.task. by @tobiasraabe in #200 - Test
_pytask.mark_utils. by @tobiasraabe in #201 - Remove internal traceback frames from exceptions raised within pytask. by @tobiasraabe in #204
- Fix directory structure in the best practices guide on parametrizations. by @tobiasraabe in #208
Full Changelog: v0.1.5...v0.1.6
v0.1.5
What's Changed
- Enhance live display by deactivating auto-refresh among other things. by @tobiasraabe in #186
- Refactorings related to
ExitCode. by @tobiasraabe in #188 - Add
--show-tracebackto control whether tracebacks are displayed. by @tobiasraabe in #187 - Don't display a table when no entry is present. by @tobiasraabe in #189
- Refactor remaining pieces related to reduce_node_name. by @tobiasraabe in #184
- Refactor exporting the DAG as a figure. by @tobiasraabe in #185
- Update the release notes. by @tobiasraabe in #190
Full Changelog: https://pytask-dev.readthedocs.io/en/latest/changes.html
v0.1.4
This release includes a lot of changes to the styling of the interface as well as multiple internal improvements such as internal typing and clearer internal task outcomes.
What's Changed
The most notable changes in this release involve the style of the interface.
- Task ids are shorter than before, the part with the path is dimmed to highlight the function name.
- The bright part of the task name is clickable and will open the task module in the editor. Use
editor_url_scheme=vscodein the configuration file and you will even jump to the correct line where the task is defined in vscode. (Link) - A panel with a summary on task outcomes is displayed at the end of the report.
pytask is now also rudimentarily typed. Hopefully, a fully typed interface will follow soon.
More information about changes in this release can be found in the changelog.
v0.1.3
Just a follow up release for v0.1.2 which
- adds
packagingto the dependencies of the package. - rounds time units of the duration to integers.
v0.1.2
This release includes a lot of enhancements and cleanups for the displayed information.
- Skipped and persisted tasks are not displayed in the table with the default verbosity.
- The number of rows in the execution table is limited to 15 items to make the display cleaner and the update process smoother.
- The duration of the execution is displayed in a human readable way and not just in total seconds.
--show-errors-immediatelyallows to display errors with tracebacks as soon as they occur.
For more information, check out the changelog.

