Skip to content

ENH: Deprecate @pytask.mark.parametrize. #233

@tobiasraabe

Description

@tobiasraabe

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfeedback-wantedFeedback from everyone is requested.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions