Scroll to navigation

WATCHFILES(1) General Commands Manual WATCHFILES(1)

NAME

watchfiles - Simple, modern and high performance file watching

SYNOPSIS

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)

DESCRIPTION

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


BUGS

Bugs can be reported to your distribution's bug tracker or upstream at https://github.com/samuelcolvin/watchfiles/issues

AUTHOR

Louis-Philippe Véronneau

2024