Skip to content

v0.4.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@tobiasraabe tobiasraabe released this 22 Sep 10:20
· 225 commits to main since this release

This is the first release candidate for the v0.4.* release series.

The final release still requires some changes. For example, the documentation needs to be extended. But, the essential parts are already there, and it is time to collect some final feedback! Let me know what you think and what needs to be improved. You can comment in the discussion for this release #422.

To install the pre-release, use

$ pip install pytask --pre
$ conda install -c "conda-forge/label/pytask_rc" pytask

Now, let's take a look at the changes.

What's Changed

New

  • Dependencies and products of tasks have new interfaces that are explained in this tutorial.
  • You can also now declare products by allowing task functions to return. Follow this guide.
  • If you have inputs to task functions that should be hashed to detect any changes, follow this guide.
  • Before, only pathlib.Paths received special treatment as dependencies or products to task functions. Now, it is possible to define your own nodes that simplify, for example, loading pickle files as this guide explains. But many more extensions are possible, like defining data in an S3 bucket as a dependency or product.
  • The functional interface has been reworked and now accepts tasks directly, allowing you to execute pytask on the command line or in Jupyter notebooks. The documentation must still be written, but here is your starting point.

Removals

  • Python 3.7 is no longer supported.
  • @pytask.mark.parametrize is removed. Follow this tutorial instead.

Deprecations

  • @pytask.mark.depends_on, @pytask.mark.produces are deprecated and will be removed in v0.5.0.
  • @pytask.mark.task is deprecated. Use @pytask.task instead.
  • Paths defined as strings are deprecated and should be replaced with proper pathlib.Path objects.

Full list of changes

Full Changelog: v0.3.2...v0.4.0rc1