The Timer class inherits the Thread class, and the
daemon mechanic along with it.
There are two ways of setting the daemonness of a Thread : in the constructor, and through a property between the creation of the thread and its start. However, the
daemon keyword-only argument taken by Thread is not taken by Timer. Here is an overview of what works and what doesn’t.
t = Thread(..., daemon=True) t = Thread(...) t.daemon = True t = Timer(...) t.daemon = True t = Timer(..., daemon=True) # that one doesn't work
My proposition is simply to include the
daemon=True keyword-only argument also to the Timer class, for more ease of use.
The use case is for the scheduled timer not to block termination of the program (same as a normal Thread), which is already possible as the property-setting syntax shows.