watchfiles1
Simple, modern and high performance file watching
Usage
watchfiles [--ignore-paths
<IGNORE_PATHS>]
[{--target-type
(command | function | auto)}]
[--filter
<FILTER>]
[--args
<ARGS>]
[--verbose]
[--non-recursive]
[{--verbosity
(warning | info | debug)}]
[--sigint-timeout
<SIGINT_TIMEOUT>]
[--grace-period
<GRACE_PERIOD>]
[--sigkill-timeout
<SIGKILL_TIMEOUT>]
[--ignore-permission-denied]
target
[paths ...]
watchfiles {(-h | --help)}
watchfiles {(-V | --version)}
Overview
watchfiles watches one or more directories and executes either a Shell command or a Python function on file changes.
Arguments
target Command or dotted function path to run paths Filesystem paths to watch, defaults to current directory
Options
-h | --help Show this help message and exit
--ignore-paths <IGNORE_PATHS> Specify directories to ignore, to ignore multiple paths use a comma as separator, e.g. "env" or "env,node_modules"
--target-type (command | function | auto) Whether the target should be intercepted as a shell command or a Python function, defaults to "auto" which infers the target type from the target string
--filter <FILTER> Which files to watch, defaults to "default" which uses the "DefaultFilter", "python" uses the "PythonFilter", "all" uses no filter, any other value is interpreted as a Python function/class path which is imported
--args <ARGS> Arguments to set on sys.argv before calling target function, used only if the target is a function
--verbose Set log level to "debug", wins over --verbosity
--non-recursive Do not watch for changes in sub-directories recursively
--verbosity (warning | info | debug) Log level, defaults to "info"
--sigint-timeout <SIGINT_TIMEOUT> How long to wait for the sigint timeout before sending sigkill.
--grace-period <GRACE_PERIOD> Number of seconds after the process is started before watching for changes.
--sigkill-timeout <SIGKILL_TIMEOUT> How long to wait for the sigkill timeout before issuing a timeout exception.
--ignore-permission-denied Ignore permission denied errors while watching files and directories.
-V | --version Show program's version number and exit
Examples
Watching the current directory and calling a Python function:
$ watchfiles foobar.main
Watching Python files in two local directories and calling a Shell command:
$ watchfiles --filter python 'pytest --lf' src tests