-
Notifications
You must be signed in to change notification settings - Fork 11
Closed
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
Todo
- Treat all function arguments as dependencies of a task, add a
PythonNode
as the default. Parse dependencies from all args ifdepends_on
is not used. #384 - Make sure
NamedTuple
are supported for@pytask.mark.task(kwargs=...)
. Add support forNamedTuple
and attrs classes in@pytask.mark.task(kwargs=...)
. #397 - Implement
Product
to get rid of@pytask.mark.produces
. Add products withtyping.Annotation
. #394 - Deprecations for old specifications of dependencies and products. Deprecate decorators for
depends_on
andproduces
. #398- Add deprecation warnings for
@pytask.mark.depends_on
and@pytask.mark.produces
. - Add deprecation warnings for strings in depends_on and produces.
- Add deprecation warnings for produces as a kwarg.
- Add deprecation warnings for
- Rework the documentation Document new interface. #392
- Document
PythonNode
, restrictions and possible hashing mechanisms. - Document protocols.
- Document functional interface.
- Document nodes in general.
- Favor
@pytask.task
over deprecated usage. - Document that product interfaces cannot be used together.
- Document node protocols.
- Improve scalability bp guide and focus on the centralization of cartesian products.
- Document
- Check code again that simplifies multiple python nodes to one in
collect_utils.py
. - Add an interface to provide a hash callable. Allow to pass functions to
PythonNode(hash=...)
. #410 - Partially type
main()
with builtin arguments. Rest stayskwargs
. Renamemain()
tobuild()
. A new functional interface. #411
Discussion
-
Should products be mandatory for tasks? Advantage: better user feedback, disadvantage: breaks old behavior, workaround: add a stub product if your task has no products. -
Should pytask support positional arguments? Thirdparty functions might no work differently. Workaround: it is easy for users to build a wrapper.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request