Rather than sleeping as a way of freeing up CPU cycles and checking every minute (I'd also immediately considered drifting and imprecision as issues if this is implemented), is there a way to use a system interrupt based library to run the update code every time the system's clock has incremented the minute? I'm not familiar with programming in python, but I would assume this would mean using a library that deals with the HAL (Hardware Abstraction Layer) interface? This would offload the work from the app and leave it up to the operating system to run the routine as an event.
def clock_update(): while not_done: now = get_system_time_in_seconds() update_clock (now) sleep_time = 60 - now MOD 60 sleep_for_seconds (sleep_time) clock_update_thread = threading.Thread (target=clock_update) clock_update_thread.start()