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.