etected. debug: whether to print information about all filesystem changes in rust to stdout. raise_interrupt: whether to re-raise `KeyboardInterrupt`s, or suppress the error and just stop iterating. force_polling: See [Force polling](#force-polling) above. poll_delay_ms: delay between polling for changes, only used if `force_polling=True`. recursive: if `True`, watch for changes in sub-directories recursively, otherwise watch only for changes in the top-level directory, default is `True`. ignore_permission_denied: if `True`, will ignore permission denied errors, otherwise will raise them by default. Setting the `WATCHFILES_IGNORE_PERMISSION_DENIED` environment variable will set this value too. Yields: The generator yields sets of [`FileChange`][watchfiles.main.FileChange]s. ```py title="Example of watch usage" from watchfiles import watch for changes in watch('./first/dir', './second/dir', raise_interrupt=False): print(changes) ``` c