# dependencies # pip3 install watchdog import time import subprocess from watchdog.observers import Observer command = 'rsync --prune-empty-dirs --include="*/" --include="*.py" --exclude="*" --recursive --whole-file --verbose --progress ./ /media/cefn/CIRCUITPY' syncing = False; def sync(): syncing = True subprocess.run(command, shell=True) syncing = False class ChangeEventHandler: def dispatch(self, event): if not syncing: sync() if __name__ == "__main__": observer = Observer() observer.schedule(ChangeEventHandler(), ".", recursive=True) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join()