[tox] envlist = py3{9,10,11,12,13} pypy3 docs types lint skip_missing_interpreters = True [testenv] usedevelop = true deps = -r requirements-tests.txt extras = watchmedo commands = python -bb -m pytest {posargs} [testenv:docs] usedevelop = true deps = -r requirements-tests.txt extras = watchmedo commands = sphinx-build -aEWb html docs/source docs/build/html [testenv:lint] usedevelop = true deps = -r requirements-tests.txt extras = watchmedo commands = python -m ruff format docs/source/examples src tests python -m ruff check --fix src docs/source/examples tests [testenv:types] usedevelop = true deps = -r requirements-tests.txt commands = # General python -m mypy docs/source/examples python -m mypy src # OS specific python -m mypy --platform darwin --disable-error-code unused-ignore \ src/watchdog/observers/fsevents.py \ src/watchdog/observers/fsevents2.py python -m mypy --platform freebsd --disable-error-code unused-ignore \ src/watchdog/observers/kqueue.py python -m mypy --platform linux --disable-error-code unused-ignore \ src/watchdog/observers/inotify.py \ src/watchdog/observers/inotify_buffer.py \ src/watchdog/observers/inotify_c.py python -m mypy --platform win32 --disable-error-code unused-ignore \ src/watchdog/observers/read_directory_changes.py \ src/watchdog/observers/winapi.py