I wanted to make a thread daemon by default whenever it got created inside the python process, is it possible?
Probably the simplest approach is to make a wrapper function that creates a daemon thread (forwarding its arguments to the thread constructor, just setting
daemon=True on top of that), and use that instead of directly creating the threads. Alternately, any thread created by code in a daemon thread should also be daemonic by default.
See the threading.Thread constructor documentation for details.