It's not strictly necessary for Progress objects to be Threads, as none of the Thread APIs are actually used. Rather, Progress must only be an object which implements set_meta and update methods.
To support (optional) type checking of Progress, this also adds a Progress protocol, which consumers may choose (but are not required) to subclass.
It's not strictly necessary for
Progress
objects to be Threads, as none of theThread
APIs are actually used. Rather,Progress
must only be an object which implementsset_meta
andupdate
methods.To support (optional) type checking of
Progress
, this also adds aProgress
protocol, which consumers may choose (but are not required) to subclass.