import threading
import time
import logging

log = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)

def _logging_thread(args: dict) -> None:
    while not args["stop"]:
        log.info("Hello from thread")
        time.sleep(1)

def main():
    log.info("Hello from main")
    info = dict(stop=False)
    thread = threading.Thread(target=_logging_thread, args=(info,))
    thread.start()

    log.info("More from main")
    time.sleep(15)  # Do some interesting function calls
    log.info("Finally from main")
    info['stop'] = True


if __name__ == '__main__':
    main()