Right now every task looks more-or-less like this:
def task_hello():
def python_hello(targets):
with open(targets[0], "a") as output:
output.write("Python says Hello World!!!\n")
return {
'actions': [python_hello],
'targets': ["hello.txt"],
}
It would be so nice if we actually had a type-annotated class Task
with actions
and targets
fields.
Right now, every Task is basically dict.
I think, it was a great decision back in the days, but right now we have dataclass
, typing
module and they work so great for modern code.
Having type annotations in python makes programming much easier:
mypy
(python static linter) will catch thatdoit
Unfortunately, adding type annotations to an existing project is not the easiest and the most funny thing to do, but it has lots of benefits.
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too