dask / dask/distributed

RFC: Rename Future to Task in public facing interface

Open
#8,028 6 comments 0 reactions 1 assignee Claimed by @milesgranger View on GitHub
Dominant language
Python
Stars
1.7k
Forks
778
Avg merge
2h 50m
Merged PRs (30d)
3

Description

Please don't make too much of this issue. This is mostly to start a conversation.

I spent the week with a bunch of folks who are less sophisticated than our typical users, but who really need something very much like Dask. It was educational.

My sense is that our usual idiom:

```python
future = client.submit(func, *args, **kwargs)
```

... is kinda weird for them. Passing the function as an argument is strange (another proposal for that in https://github.com/dask/distributed/pull/7936). Also, folks mentioned that the term "future" doesn't really make any sense to them. Instead, the term "task" made more sense. This doesn't seem unreasonable. We chose the term future to be consistent with the `concurrent.futures` module, which is mostly just known by devs.

I'll leave the decorator stuff for another conversation, but here I'd like to propose the following cosmetic API change:

```python
>>> task = client.submit(func, *args, **kwrags)
>>> task

>>> task.result()
...
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.