The documentation of concurrent.futures.Future.set_result() says
This method should only be used by
Executorimplementations and unit tests.
The same says the documentation of set_exception() and set_running_or_notify_cancel()`.
But I can imagine using (and in Java also have used in the past) Future objects for (slightly) other purposes resp. in slightly different circumstances. In these cases, I'd just like to use a Future object. Why is this discouraged?
In order to become a little clearer: I talk about a quite complex sequence of events which involve two different schedulers and stuff, and a Future object could be used to cancel this process as well as notify about its completion. This framework is not an Executor (nor can it be one).