pytask icon indicating copy to clipboard operation
pytask copied to clipboard

ENH: Deprecate `@pytask.mark.parametrize`.

Open tobiasraabe opened this issue 3 years ago • 0 comments

Closes #224.

Is your feature request related to a problem?

#229 implements a more intuitive approach to parametrizations for v0.2 which is based on loops. It will likely render the pytest approach obsolete which allows us to simplify the interface and get rid of a lot of unnecessary code.

Describe the solution you'd like

Deprecate @pytask.mark.parametrize in a couple of steps.

Starting with some version in the early v0.2.x cycle, show a deprecation warning

  • Mention that parametrizations are deprecated from v0.3 or v1.0 on.
  • Mention that they need to pin pytask if they dont want to refactor the parametrizations.
  • Link to the tutorial for parametrizations for advice on refactoring.
  • Mention and implement a configuration value which allows to silence the warning
  • Add deprecation warning to the articles in the documentation.

Then, deprecate the approach in v0.3 or v1.0.

  • Remove _pytask.parametrize.
  • Remove hook pytask_parametrize_hook if there is no intention to move the code to a new plugin.
  • Rename pytask_parametrize_kwarg_to_marker or refactor it. It allows plugins to turn keyword arguments for tasks to markers. But, they could also extract the information from task.kwargs.
  • Remove any documentation related to it.

API breaking implications

@pytask.mark.parametrize will no longer exist.

Describe alternatives you've considered

It would be possible to move everything to its own pytask-parametrize plugin and allow people to continue with the old approach. Due to the maintenance effort, we are currently not pursuing this direction, but everyone is invited to pick it up.

tobiasraabe avatar Mar 07 '22 11:03 tobiasraabe